2019-01-24 20:10:14 +02:00
|
|
|
---
|
|
|
|
title: GitHub Actions
|
|
|
|
menu: true
|
|
|
|
weight: 141
|
|
|
|
---
|
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
GoReleaser can also be used within our official [GoReleaser Action][goreleaser-action] through [GitHub Actions][actions].
|
2019-01-24 20:10:14 +02:00
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
You can create a workflow for pushing your releases by putting YAML configuration to `.github/workflows/release.yml`.
|
2019-08-30 15:18:25 +02:00
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
Below is a simple snippet to use this action in your workflow:
|
2019-12-24 15:52:45 +02:00
|
|
|
|
2019-08-30 15:18:25 +02:00
|
|
|
```yaml
|
2019-09-29 16:32:25 +02:00
|
|
|
name: goreleaser
|
|
|
|
|
2019-08-30 15:18:25 +02:00
|
|
|
on:
|
2019-09-29 16:32:25 +02:00
|
|
|
pull_request:
|
2019-08-30 15:18:25 +02:00
|
|
|
push:
|
2019-09-29 16:32:25 +02:00
|
|
|
|
2019-08-30 15:18:25 +02:00
|
|
|
jobs:
|
2019-09-29 16:32:25 +02:00
|
|
|
goreleaser:
|
2019-08-30 15:18:25 +02:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2019-09-29 16:32:25 +02:00
|
|
|
-
|
|
|
|
name: Checkout
|
2019-10-09 20:45:07 +02:00
|
|
|
uses: actions/checkout@v1
|
2019-09-29 16:32:25 +02:00
|
|
|
-
|
|
|
|
name: Set up Go
|
2019-10-09 20:45:07 +02:00
|
|
|
uses: actions/setup-go@v1
|
2019-12-24 15:52:45 +02:00
|
|
|
with:
|
|
|
|
go-version: 1.13.x
|
2019-09-29 16:32:25 +02:00
|
|
|
-
|
|
|
|
name: Run GoReleaser
|
2019-10-09 20:45:07 +02:00
|
|
|
uses: goreleaser/goreleaser-action@v1
|
2019-09-29 16:32:25 +02:00
|
|
|
with:
|
|
|
|
version: latest
|
2019-12-24 15:52:45 +02:00
|
|
|
args: release --rm-dist
|
|
|
|
key: ${{ secrets.YOUR_PRIVATE_KEY }}
|
2019-10-21 13:33:19 +02:00
|
|
|
env:
|
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
2019-01-24 20:10:14 +02:00
|
|
|
```
|
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
> For detailed intructions please follow GitHub Actions [workflow syntax][syntax].
|
|
|
|
|
|
|
|
## Customizing
|
|
|
|
|
|
|
|
### Inputs
|
2019-01-26 01:47:17 +02:00
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
Following inputs can be used as `step.with` keys
|
2019-03-14 16:06:26 +02:00
|
|
|
|
2019-12-24 15:52:45 +02:00
|
|
|
| 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) |
|
2019-01-26 01:47:17 +02:00
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
### 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.
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
signs:
|
|
|
|
- artifacts: checksum
|
|
|
|
args: ["--batch", "-u", "<key id, fingerprint, email, ...>", "--output", "${signature}", "--detach-sign", "${artifact}"]
|
|
|
|
```
|
2019-01-26 01:47:17 +02:00
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
This feature is currently only compatible when using the default `gpg`
|
|
|
|
command and a private key without a passphrase.
|
2019-01-24 20:10:14 +02:00
|
|
|
|
2019-09-29 16:32:25 +02:00
|
|
|
[goreleaser-action]: https://github.com/goreleaser/goreleaser-action
|
2019-01-24 20:10:14 +02:00
|
|
|
[actions]: https://github.com/features/actions
|
2019-08-30 15:18:25 +02:00
|
|
|
[syntax]: https://help.github.com/en/articles/workflow-syntax-for-github-actions#About-yaml-syntax-for-workflows
|