name: CI Main on: push: branches: - main - feature/gitops workflow_dispatch: jobs: load-config: name: Load example-gitea-env.conf to pipeline env uses: niko/gitea-ci-library/.gitea/workflows/config-provider.yml@main secrets: inherit with: config_path: .gitea/workflows/example-gitea-env.conf check-version: name: Check existing artifact needs: [load-config] uses: niko/gitea-ci-library/.gitea/workflows/check-version.yml@main secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} bats: name: Bats tests needs: [load-config, check-version] if: needs.check-version.outputs.artifact_exists != 'true' uses: niko/gitea-ci-library/.gitea/workflows/example-bats-tests.yml@main secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} cucumber: name: Cucumber tests needs: [load-config, check-version] if: needs.check-version.outputs.artifact_exists != 'true' uses: niko/gitea-ci-library/.gitea/workflows/example-cucumber-tests.yml@main secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} docker-build-push: name: Build & Push Docker needs: [load-config, check-version, bats, cucumber] if: needs.check-version.outputs.artifact_exists != 'true' uses: niko/gitea-ci-library/.gitea/workflows/docker-build-push.yml@main secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} version: ${{ needs.check-version.outputs.version }} docker-gitops: name: New docker to the cluster needs: [docker-build-push] uses: niko/gitea-ci-library/.gitea/workflows/gitops-dispatch.yml@main secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} version: ${{ needs.check-version.outputs.version }} GITOPS_FILE: dev/values.yaml GITOPS_YQ_TPL: '.service.tag = "{{VERSION}}"' GITOPS_REPO: niko/gitea-ci-gitops-tests report-summary: name: Report Summary needs: [load-config, check-version, docker-build-push, docker-gitops] if: always() uses: niko/gitea-ci-library/.gitea/workflows/report-summary.yml@main with: env_json: ${{ needs.load-config.outputs.env_json }} suites: bats cucumber gitops: | ${{ needs.docker-gitops.outputs.summary }} tag-maintenance: name: Move provider version tag needs: [docker-gitops] if: success() uses: niko/gitea-ci-library/.gitea/workflows/tag-maintenance.yml@main secrets: inherit