refs https://github.com/goreleaser/goreleaser-action/issues/69 Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2.4 KiB
title | menu | weight |
---|---|---|
GitHub Actions | true | 141 |
GoReleaser can also be used within our official GoReleaser Action through GitHub Actions.
You can create a workflow for pushing your releases by putting YAML configuration to .github/workflows/release.yml
.
Below is a simple snippet to use this action in your workflow:
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
workflow step. It is required for the changelog to work correctly.
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.