From d35561940fbd12ae7237799892fa8a2fa32d3638 Mon Sep 17 00:00:00 2001 From: Tristan Morgan Date: Mon, 11 Nov 2024 11:37:13 +1100 Subject: [PATCH] Add GoReleaser workflow. --- .github/workflows/go-releaser.yml | 44 +++++++++++++++++++++++++++++++ .goreleaser.yml | 23 ++++++++-------- 2 files changed, 55 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/go-releaser.yml diff --git a/.github/workflows/go-releaser.yml b/.github/workflows/go-releaser.yml new file mode 100644 index 000000000..633d26c4b --- /dev/null +++ b/.github/workflows/go-releaser.yml @@ -0,0 +1,44 @@ +name: goreleaser +on: + push: + tags: + - '*' +permissions: + contents: write +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version-file: 'go.mod' + check-latest: true + cache: true + - name: Docker Login + uses: docker/login-action@v3 + with: + registry: https://index.docker.io/v1/ + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.GPG_PASSPHRASE }} + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 + with: + distribution: goreleaser + version: '~> v2' + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} diff --git a/.goreleaser.yml b/.goreleaser.yml index 714d16841..c5ba0fb3a 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,6 +1,6 @@ +version: 2 builds: - - - binary: fabio + - binary: fabio env: - CGO_ENABLED=0 goos: @@ -17,25 +17,26 @@ builds: - arm64 goarm: - 7 - archives: - id: bin name_template: '{{ .ProjectName }}-{{ .Version }}-{{ .Os }}_{{ .Arch }}' format: binary - source: enabled: true name_template: '{{ .ProjectName }}-{{.Version }}.src' prefix_template: '{{ .ProjectName }}-{{.Version }}/' - - checksum: name_template: '{{.ProjectName}}-{{.Version}}.sha256' - signs: - - - artifacts: checksum - + - artifacts: checksum + args: + - "--batch" + - "--local-user" + - "{{ .Env.GPG_FINGERPRINT }}" + - "--output" + - "${signature}" + - "--detach-sign" + - "${artifact}" dockers: - dockerfile: Dockerfile-goreleaser use: buildx @@ -52,7 +53,6 @@ dockers: - "--label=org.opencontainers.image.version={{.Version}}" extra_files: - fabio.properties - - dockerfile: Dockerfile-goreleaser use: buildx goos: linux @@ -68,7 +68,6 @@ dockers: - "--label=org.opencontainers.image.version={{.Version}}" extra_files: - fabio.properties - docker_manifests: - name_template: 'fabiolb/fabio:latest' image_templates: