5
5
tags :
6
6
- ' v[0-9]+.[0-9]+.[0-9]+*'
7
7
8
- env :
9
- GOPROXY : https://proxy.golang.org/
10
- PROTOCOL_VERSION : " 5.0"
11
- PROTOCOL_VERSIONS : " 5.0"
12
- SIGNER : interim_signing_subkey_7685B676
8
+ permissions :
9
+ contents : write
13
10
14
11
jobs :
15
- Release :
12
+ go-version :
13
+ runs-on : ubuntu-latest
14
+ outputs :
15
+ version : ${{ steps.go-version.outputs.version }}
16
+ steps :
17
+ - uses : actions/checkout@v2
18
+ - id : go-version
19
+ run : echo "::set-output name=version::$(cat ./.go-version)"
20
+ release-notes :
16
21
runs-on : ubuntu-latest
17
22
steps :
18
23
- uses : actions/checkout@v2
19
24
with :
20
25
fetch-depth : 0
21
- - name : Read go version
22
- id : go-version
23
- run : |
24
- content=`cat ./.go-version`
25
- echo "::set-output name=content::$content"
26
- - uses : actions/setup-go@v2
27
- with :
28
- # TODO: Replace with go-version-from-file when it is supported
29
- # https://github.com/actions/setup-go/pull/62
30
- go-version : ${{ steps.go-version.outputs.content }}
31
- - uses : hashicorp/setup-hc-releases@v1
32
- with :
33
- github-token : ${{ secrets.HASHI_RELEASES_GITHUB_TOKEN }}
34
- signer : ${{ env.SIGNER }}
35
- - uses : hashicorp/setup-signore@v2
36
- with :
37
- github-token : ${{ secrets.HASHI_SIGNORE_GITHUB_TOKEN }}
38
- signer : interim_signing_subkey_768B676
39
- - name : Release Notes
40
- 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 > /tmp/RELEASE-NOTES.md
41
- - uses : aws-actions/configure-aws-credentials@v1
42
- with :
43
- aws-access-key-id : ${{ secrets.TF_PROVIDER_RELEASE_AWS_ACCESS_KEY_ID }}
44
- aws-secret-access-key : ${{ secrets.TF_PROVIDER_RELEASE_AWS_SECRET_ACCESS_KEY }}
45
- aws-region : us-east-1
46
- role-to-assume : ${{ secrets.TF_PROVIDER_RELEASE_AWS_ROLE_ARN }}
47
- role-duration-seconds : 3600
48
- # TODO: allow session tagging once IAM permission changes addressed
49
- # Reference: https://github.com/hashicorp/hc-releases/issues/124
50
- role-skip-session-tagging : true
51
- - name : goreleaser release
52
- uses : goreleaser/goreleaser-action@v2
26
+ - name : Generate Release Notes
27
+ 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
28
+ - uses : actions/upload-artifact@v2
53
29
with :
54
- args : release --release-notes /tmp/RELEASE-NOTES.md --rm-dist
55
- env :
56
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
57
- SIGNORE_CLIENT_ID : ${{ secrets.SIGNORE_CLIENT_ID }}
58
- SIGNORE_CLIENT_SECRET : ${{ secrets.SIGNORE_CLIENT_SECRET }}
59
- - name : hc-releases publish
60
- run : hc-releases publish -product=${{ github.event.repository.name }}
61
- env :
62
- FASTLY_API_TOKEN : ${{ secrets.HASHI_FASTLY_PURGE_TOKEN }}
63
- TERRAFORM_REGISTRY_SYNC_TOKEN : ${{ secrets.TF_PROVIDER_RELEASE_TERRAFORM_REGISTRY_SYNC_TOKEN }}
30
+ name : release-notes
31
+ path : release-notes.txt
32
+ retention-days : 1
33
+ terraform-provider-release :
34
+ name : ' Terraform Provider Release'
35
+ needs : [go-version, release-notes]
36
+ uses : hashicorp/ghaction-terraform-provider-release/.github/workflows/hashicorp.yml@v1
37
+ secrets :
38
+ hc-releases-aws-access-key-id : ' ${{ secrets.TF_PROVIDER_RELEASE_AWS_ACCESS_KEY_ID }}'
39
+ hc-releases-aws-secret-access-key : ' ${{ secrets.TF_PROVIDER_RELEASE_AWS_SECRET_ACCESS_KEY }}'
40
+ hc-releases-aws-role-arn : ' ${{ secrets.TF_PROVIDER_RELEASE_AWS_ROLE_ARN }}'
41
+ hc-releases-fastly-api-token : ' ${{ secrets.HASHI_FASTLY_PURGE_TOKEN }}'
42
+ hc-releases-github-token : ' ${{ secrets.HASHI_RELEASES_GITHUB_TOKEN }}'
43
+ hc-releases-terraform-registry-sync-token : ' ${{ secrets.TF_PROVIDER_RELEASE_TERRAFORM_REGISTRY_SYNC_TOKEN }}'
44
+ setup-signore-github-token : ' ${{ secrets.HASHI_SIGNORE_GITHUB_TOKEN }}'
45
+ signore-client-id : ' ${{ secrets.SIGNORE_CLIENT_ID }}'
46
+ signore-client-secret : ' ${{ secrets.SIGNORE_CLIENT_SECRET }}'
47
+ with :
48
+ release-notes : true
49
+ setup-go-version : ' ${{ needs.go-version.outputs.version }}'
0 commit comments