name: goreleaser on: push: # run only against tags tags: - '*' permissions: contents: write packages: write # issues: write jobs: goreleaser: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - run: git fetch --force --tags - uses: actions/setup-go@v5 with: go-version: '1.23' cache: true # More assembly might be required: Docker logins, GPG, etc. It all depends # on your needs. - uses: olegtarasov/get-tag@v2.1.4 id: tagName with: # tagRegex: "foobar-(.*)" # Optional. Returns specified group text as tag name. Full tag string is returned if regex is not defined. tagRegexGroup: 1 # Optional. Default is 1. - uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser version: 2.7.0 args: release --release-notes=".changes/${{ env.GIT_TAG_NAME }}.md" -f .goreleaser/github.yml --clean env: GITHUB_TOKEN: ${{ secrets.GORELEASER_TOKEN }} GIT_TAG_NAME: ${{ steps.tagName.outputs.tag }}