release.yml

 1name: Build release binaries
 2
 3on:
 4  workflow_dispatch:
 5  push:
 6    tags:
 7      - "v*"
 8
 9concurrency:
10  group: release-${{ github.ref }}
11  cancel-in-progress: true
12
13jobs:
14  build-release:
15    runs-on: "ubuntu-latest"
16
17    steps:
18      - name: Set up Go
19        uses: actions/setup-go@v5
20        with:
21          go-version: 1.22.5
22
23      - name: Check out code
24        uses: actions/checkout@v4
25
26      - name: Build
27        run: make
28
29      - name: Setup minimal git config
30        run: |
31          git config --global user.email "action@github.com"
32          git config --global user.name "GitHub Action"
33
34      - name: Test
35        run: make test
36
37      - name: Build binaries
38        run: make releases
39
40      - uses: "marvinpinto/action-automatic-releases@latest"
41        with:
42          repo_token: "${{ secrets.GITHUB_TOKEN }}"
43          draft: true
44          prerelease: false
45          files: dist/*