|
1 | 1 | # This GitHub action can publish assets for release when a tag is created.
|
2 | 2 | # Currently its setup to run on any tag that matches the pattern "v*" (ie. v0.1.0).
|
3 | 3 | #
|
4 |
| -# This uses an action (paultyng/ghaction-import-gpg) that assumes you set your |
| 4 | +# This uses an action (hashicorp/ghaction-import-gpg) that assumes you set your |
5 | 5 | # private key in the `GPG_PRIVATE_KEY` secret and passphrase in the `PASSPHRASE`
|
6 | 6 | # secret. If you would rather own your own GPG handling, please fork this action
|
7 | 7 | # or use an alternative one for key handling.
|
8 | 8 | #
|
9 |
| -# You will need to pass the `--batch` flag to `gpg` in your signing step |
| 9 | +# You will need to pass the `--batch` flag to `gpg` in your signing step |
10 | 10 | # in `goreleaser` to indicate this is being used in a non-interactive mode.
|
11 | 11 | #
|
12 | 12 | name: release
|
|
15 | 15 | tags:
|
16 | 16 | - 'v*'
|
17 | 17 | jobs:
|
18 |
| - go-version: |
19 |
| - runs-on: ubuntu-latest |
20 |
| - outputs: |
21 |
| - go-version: ${{ steps.go-version.outputs.go-version }} |
22 |
| - steps: |
23 |
| - - uses: actions/checkout@v2 |
24 |
| - # Read the .go-version file and output it for other jobs to use. |
25 |
| - - id: go-version |
26 |
| - run: echo "::set-output name=go-version::$(cat .go-version)" |
27 |
| - |
28 | 18 | goreleaser:
|
29 | 19 | runs-on: ubuntu-latest
|
30 |
| - needs: [go-version] |
31 | 20 | steps:
|
32 |
| - - uses: actions/setup-go@v2 |
33 |
| - with: |
34 |
| - go-version: ${{ needs.go-version.outputs.go-version }} |
35 |
| - - uses: actions/checkout@v2 |
36 |
| - - uses: actions/cache@v2 |
37 |
| - with: |
38 |
| - path: ~/go/pkg/mod |
39 |
| - key: ${{ runner.os }}-go${{ env.GO_VERSION }}-${{ hashFiles('go.sum') }}-no-tools |
40 |
| - - name: Unshallow |
| 21 | + - |
| 22 | + name: Checkout |
| 23 | + |
| 24 | + - |
| 25 | + name: Unshallow |
41 | 26 | run: git fetch --prune --unshallow
|
42 |
| - - uses: paultyng/[email protected] |
| 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 |
43 | 34 | id: import_gpg
|
| 35 | + |
44 | 36 | env:
|
| 37 | + # These secrets will need to be configured for the repository: |
45 | 38 | GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
46 | 39 | PASSPHRASE: ${{ secrets.PASSPHRASE }}
|
47 |
| - - uses: goreleaser/goreleaser-action@v2 |
| 40 | + - |
| 41 | + name: Run GoReleaser |
| 42 | + uses: goreleaser/[email protected] |
48 | 43 | with:
|
49 | 44 | version: latest
|
50 | 45 | args: release --rm-dist
|
51 | 46 | env:
|
52 | 47 | GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
|
| 48 | + # GitHub sets this automatically |
53 | 49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
0 commit comments