1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-10 03:47:03 +02:00
goreleaser/www/content/actions.md

76 lines
2.2 KiB
Markdown
Raw Normal View History

---
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-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-09-29 16:32:25 +02:00
Below is a simple snippet to use this action in your workflow:
```yaml
2019-09-29 16:32:25 +02:00
name: goreleaser
on:
2019-09-29 16:32:25 +02:00
pull_request:
push:
2019-09-29 16:32:25 +02:00
jobs:
2019-09-29 16:32:25 +02:00
goreleaser:
runs-on: ubuntu-latest
steps:
2019-09-29 16:32:25 +02:00
-
name: Checkout
uses: actions/checkout@v1
2019-09-29 16:32:25 +02:00
-
name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.13.x
2019-09-29 16:32:25 +02:00
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
2019-09-29 16:32:25 +02:00
with:
version: latest
args: release --rm-dist
key: ${{ secrets.YOUR_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
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
| 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-09-29 16:32:25 +02:00
[goreleaser-action]: https://github.com/goreleaser/goreleaser-action
[actions]: https://github.com/features/actions
[syntax]: https://help.github.com/en/articles/workflow-syntax-for-github-actions#About-yaml-syntax-for-workflows