.github/workflows/release.yml
name: Release
on:
push:
tags: ['*']
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Check out source
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
id: go
- name: Determine version
run: echo VERSION=$(echo $GITHUB_REF | cut -d / -f 3 | sed -e "s/^v//") >> $GITHUB_ENV
- name: Import GPG key
id: gpg
uses: crazy-max/ghaction-import-gpg@v2
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
- name: Create release notes
run: |
scripts/release-notes.sh ${{ env.VERSION }} | tee release-notes.md
- name: Go release
uses: goreleaser/goreleaser-action@v1
with:
version: latest
args: --config=.github/release.yml --skip-validate --release-notes release-notes.md
env:
GPG_FINGERPRINT: ${{ steps.gpg.outputs.fingerprint }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}