File tree 2 files changed +96
-0
lines changed
2 files changed +96
-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
+ - name : Checkout
22
+ uses : actions/checkout@v2
23
+ - name : Unshallow
24
+ run : git fetch --prune --unshallow
25
+ - name : Set up Go
26
+ uses : actions/setup-go@v2
27
+ with :
28
+ go-version : 1.14
29
+ - name : Import GPG key
30
+ id : import_gpg
31
+
32
+ env :
33
+ GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
34
+ PASSPHRASE : ${{ secrets.PASSPHRASE }}
35
+ - name : Run GoReleaser
36
+ uses : goreleaser/goreleaser-action@v2
37
+ with :
38
+ version : latest
39
+ args : release --rm-dist
40
+ env :
41
+ GPG_FINGERPRINT : ${{ steps.import_gpg.outputs.fingerprint }}
42
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
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 it's live, uncomment this line:
52
+ draft : true
53
+ changelog :
54
+ skip : true
You can’t perform that action at this time.
0 commit comments