|
||
---|---|---|
.github | ||
__tests__ | ||
dist | ||
lib | ||
src | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.prettierrc.json | ||
LICENSE | ||
README.md | ||
action.yml | ||
go.mod | ||
jest.config.js | ||
main.go | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
GoReleaser Action
GitHub Action for GoReleaser
Usage
Below is a simple snippet to use this action. A live example is also available for this repository.
name: goreleaser
on:
pull_request:
push:
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Unshallow
run: git fetch --prune --unshallow
-
name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.13.x
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
with:
version: latest
args: release --rm-dist
key: ${{ secrets.YOUR_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
IMPORTANT: note the
Unshallow
step. It is required for the changelog to work correctly.
If you want to run GoReleaser only on new tag, you can use this event:
on:
push:
tags:
- '*'
Or with a condition on GoReleaser step:
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
if: startsWith(github.ref, 'refs/tags/')
with:
version: latest
args: release --rm-dist
key: ${{ secrets.YOUR_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
For detailed instructions please follow GitHub Actions workflow syntax.
Customizing
Inputs
Following inputs can be used as step.with
keys
Name | Type | Default | Description |
---|---|---|---|
version |
String | latest |
GoReleaser version. Example: v0.117.0 |
args |
String | Arguments to pass to GoReleaser | |
key |
String | Private key to import | |
workdir |
String | . |
Working directory (below repository root) |
Signing
If signing is enabled in your GoReleaser configuration, populate the key
input with your private key
and reference the key in your signing configuration, e.g.
signs:
- artifacts: checksum
args: ["--batch", "-u", "<key id, fingerprint, email, ...>", "--output", "${signature}", "--detach-sign", "${artifact}"]
This feature is currently only compatible when using the default gpg
command and a private key without a passphrase.
License
MIT. See LICENSE
for more details.