goreleaser.yml

 1name: goreleaser
 2
 3on:
 4  push:
 5    tags:
 6      - v*.*.*
 7
 8concurrency: goreleaser
 9
10permissions:
11  contents: write
12  packages: write
13
14jobs:
15  goreleaser:
16    runs-on: ubuntu-latest
17    env:
18      DOCKER_CLI_EXPERIMENTAL: enabled
19    steps:
20      - name: Checkout
21        uses: actions/checkout@v2
22        with:
23          fetch-depth: 0
24
25      - name: Set up Go
26        uses: actions/setup-go@v2
27        with:
28          go-version: 1.17
29
30      - name: Login to DockerHub
31        uses: docker/login-action@v1
32        with:
33          username: ${{ secrets.DOCKERHUB_USERNAME }}
34          password: ${{ secrets.DOCKERHUB_TOKEN }}
35
36      - name: Login to GitHub Container Registry
37        uses: docker/login-action@v1
38        with:
39          registry: ghcr.io
40          username: ${{ github.repository_owner }}
41          password: ${{ secrets.GITHUB_TOKEN }}
42
43      - name: Set up QEMU
44        uses: docker/setup-qemu-action@v1
45
46      - name: Set up Docker Buildx
47        id: buildx
48        uses: docker/setup-buildx-action@v1
49
50      - name: Run GoReleaser
51        uses: goreleaser/goreleaser-action@v2
52        with:
53          distribution: goreleaser
54          version: latest
55          args: release --rm-dist --skip-sign
56        env:
57          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58          HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}