name: Release on: push: tags: - 'v*' permissions: contents: write jobs: release: name: Goreleaser publish runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # needed for changelog and tags - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.23.x' cache: true - name: Tidy check run: | go mod tidy git diff --exit-code -- go.mod go.sum - name: Build run: go build ./... - name: Test (race) run: go test -race ./... - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 with: version: latest args: release --clean --config .goreleaser.yaml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}