123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # Terraform Provider release workflow.
- name: Release
- # This GitHub action creates a release when a tag that matches the pattern
- # "v*" (e.g. v0.1.0) is created.
- on:
- push:
- tags:
- - 'v*'
- # Releases need permissions to read and write the repository contents.
- # GitHub considers creating releases and uploading assets as writing contents.
- permissions:
- contents: write
- # Default values to simplify job configurations below.
- env:
- # Go language version to use for building. This value should also be updated
- # in the testing workflow if changed.
- GO_VERSION: '1.17'
- jobs:
- goreleaser:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- with:
- # Allow goreleaser to access older tag information.
- fetch-depth: 0
- - uses: actions/setup-go@v2
- with:
- go-version: ${{ env.GO_VERSION }}
- # This uses an action (hashicorp/ghaction-import-gpg) that assumes you set your
- # private key in the `GPG_PRIVATE_KEY` secret and passphrase in the `PASSPHRASE`
- # secret. If you would rather own your own GPG handling, please fork this action
- # or use an alternative one for key handling.
- - name: Import GPG key
- id: import_gpg
- uses: hashicorp/ghaction-import-gpg@v2.1.0
- env:
- # These secrets will need to be configured for the repository:
- GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
- PASSPHRASE: ${{ secrets.PASSPHRASE }}
- - name: Run GoReleaser
- uses: goreleaser/goreleaser-action@v2.8.1
- with:
- args: release --rm-dist
- env:
- # GitHub sets the GITHUB_TOKEN secret automatically.
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
|