name: ZITADEL Release on: push: tags-ignore: - "*" workflow_dispatch: permissions: contents: write packages: write jobs: Build: runs-on: ubuntu-20.04 env: DOCKER_BUILDKIT: 1 steps: - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.17 - name: Source checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Fetch all tags run: git fetch --force --tags - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 with: driver: docker install: true - name: Tag id: semantic uses: cycjimmy/semantic-release-action@v2 with: dry_run: false semantic_version: 19.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: GitHub Container Registry Login if: steps.semantic.outputs.new_release_published == 'true' && github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - uses: tibdex/github-app-token@v1 id: generate-token with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.APP_PRIVATE_KEY }} - name: Google Artifact Registry Login if: steps.semantic.outputs.new_release_published == 'true' && github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' uses: docker/login-action@v1 with: registry: europe-docker.pkg.dev username: _json_key_base64 password: ${{ secrets.GCR_JSON_KEY_BASE64 }} - uses: goreleaser/goreleaser-action@v2 name: Publish ZITADEL if: steps.semantic.outputs.new_release_published == 'true' && github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' with: distribution: goreleaser version: v1.8.3 args: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GORELEASER_TOKEN_TAP: ${{ steps.generate-token.outputs.token }} RELEASE_VERSION: ${{ steps.semantic.outputs.release-version }} # I think this line is not needed. Nevertheless, it's explicit DISCORD_WEBHOOK_ID: "976058224484687932" DISCORD_WEBHOOK_TOKEN: "${{ secrets.DISCORD_WEBHOOK_TOKEN }}" - name: Publish go coverage uses: codecov/codecov-action@v3.1.0 with: file: .artifacts/codecov/profile.cov name: go-codecov