File tree Expand file tree Collapse file tree 2 files changed +103
-0
lines changed Expand file tree Collapse file tree 2 files changed +103
-0
lines changed Original file line number Diff line number Diff line change 1+ # This GitHub action can publish assets for release when a tag is created.
2+ # Currently its setup to run on any tag that matches the pattern "v*" (ie. v0.1.0).
3+ #
4+ # This uses an action (paultyng/ghaction-import-gpg) that assumes you set your
5+ # private key in the `GPG_PRIVATE_KEY` secret and passphrase in the `PASSPHRASE`
6+ # secret. If you would rather own your own GPG handling, please fork this action
7+ # or use an alternative one for key handling.
8+ #
9+ # You will need to pass the `--batch` flag to `gpg` in your signing step
10+ # in `goreleaser` to indicate this is being used in a non-interactive mode.
11+ #
12+ name : release
13+ on :
14+ push :
15+ tags :
16+ - ' v*'
17+ jobs :
18+ goreleaser :
19+ runs-on : ubuntu-latest
20+ steps :
21+ -
22+ name : Checkout
23+ uses : actions/checkout@v2
24+ -
25+ name : Unshallow
26+ run : git fetch --prune --unshallow
27+ -
28+ name : Set up Go
29+ uses : actions/setup-go@v2
30+ with :
31+ go-version : 1.14
32+ -
33+ name : Import GPG key
34+ id : import_gpg
35+ 36+ env :
37+ GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
38+ PASSPHRASE : ${{ secrets.PASSPHRASE }}
39+ -
40+ name : Run GoReleaser
41+ uses : goreleaser/goreleaser-action@v2
42+ with :
43+ version : latest
44+ args : release --rm-dist
45+ env :
46+ GPG_FINGERPRINT : ${{ steps.import_gpg.outputs.fingerprint }}
47+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
48+
Original file line number Diff line number Diff line change 1+ # Visit https://goreleaser.com for documentation on how to customize this
2+ # behavior.
3+ before :
4+ hooks :
5+ # this is just an example and not a requirement for provider building/publishing
6+ - go mod tidy
7+ builds :
8+ - env :
9+ # goreleaser does not work with CGO, it could also complicate
10+ # usage by users in CI/CD systems like Terraform Cloud where
11+ # they are unable to install libraries.
12+ - CGO_ENABLED=0
13+ mod_timestamp : ' {{ .CommitTimestamp }}'
14+ flags :
15+ - -trimpath
16+ ldflags :
17+ - ' -s -w -X main.version={{.Version}} -X main.commit={{.Commit}}'
18+ goos :
19+ - freebsd
20+ - windows
21+ - linux
22+ - darwin
23+ goarch :
24+ - amd64
25+ - ' 386'
26+ - arm
27+ - arm64
28+ ignore :
29+ - goos : darwin
30+ goarch : ' 386'
31+ binary : ' {{ .ProjectName }}_v{{ .Version }}'
32+ archives :
33+ - format : zip
34+ name_template : ' {{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
35+ checksum :
36+ name_template : ' {{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
37+ algorithm : sha256
38+ signs :
39+ - artifacts : checksum
40+ args :
41+ # if you are using this is a GitHub action or some other automated pipeline, you
42+ # need to pass the batch flag to indicate its not interactive.
43+ - " --batch"
44+ - " --local-user"
45+ - " {{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key
46+ - " --output"
47+ - " ${signature}"
48+ - " --detach-sign"
49+ - " ${artifact}"
50+ release :
51+ # If you want to manually examine the release before its live, uncomment this line:
52+ # draft: true
53+ changelog :
54+ skip : true
55+
You can’t perform that action at this time.
0 commit comments