name: Release on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+*' permissions: contents: write jobs: go-version: runs-on: ubuntu-latest outputs: version: ${{ steps.go-version.outputs.version }} steps: - uses: actions/checkout@v3 - id: go-version run: echo "::set-output name=version::$(cat ./.go-version)" release-notes: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Generate Release Notes run: sed -n -e "1{/# /d;}" -e "2{/^$/d;}" -e "/# $(git describe --abbrev=0 --exclude="$(git describe --abbrev=0 --match='v*.*.*' --tags)" --match='v*.*.*' --tags | tr -d v)/q;p" CHANGELOG.md > release-notes.txt - uses: actions/upload-artifact@v3 with: name: release-notes path: release-notes.txt retention-days: 1 terraform-provider-release: name: 'Terraform Provider Release' needs: [go-version, release-notes] uses: hashicorp/ghaction-terraform-provider-release/.github/workflows/hashicorp.yml@v2 secrets: hc-releases-github-token: '${{ secrets.HASHI_RELEASES_GITHUB_TOKEN }}' hc-releases-host-staging: '${{ secrets.HC_RELEASES_HOST_STAGING }}' hc-releases-host-prod: '${{ secrets.HC_RELEASES_HOST_PROD }}' hc-releases-key-prod: '${{ secrets.HC_RELEASES_KEY_PROD }}' hc-releases-key-staging: '${{ secrets.HC_RELEASES_KEY_STAGING }}' hc-releases-terraform-registry-sync-token: '${{ secrets.TF_PROVIDER_RELEASE_TERRAFORM_REGISTRY_SYNC_TOKEN }}' setup-signore-github-token: '${{ secrets.HASHI_SIGNORE_GITHUB_TOKEN }}' signore-client-id: '${{ secrets.SIGNORE_CLIENT_ID }}' signore-client-secret: '${{ secrets.SIGNORE_CLIENT_SECRET }}' with: release-notes: true setup-go-version: '${{ needs.go-version.outputs.version }}' # Product Version (e.g. v1.2.3 or github.ref_name) product-version: '${{ github.ref_name }}'