mirror of
https://github.com/davidallendj/magellan.git
synced 2025-12-20 03:27:03 -07:00
This commit updates the Go version to the latest stable release and adds QEMU setup to the GitHub workflow. It also sets up the necessary environment variables required by GoReleaser. These changes ensure that the project is using the latest Go version and is ready for release. Adds support for more architectures, package types, and better docker image.
58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
name: Release with goreleaser
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
tags:
|
|
- v*
|
|
|
|
permissions: write-all
|
|
|
|
jobs:
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Set up latest stable Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: stable
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-tags: 1
|
|
fetch-depth: 1
|
|
|
|
# Set environment variables required by GoReleaser
|
|
- name: Set build environment variables
|
|
run: |
|
|
echo "GIT_STATE=$(if git diff-index --quiet HEAD --; then echo 'clean'; else echo 'dirty'; fi)" >> $GITHUB_ENV
|
|
echo "BUILD_HOST=$(hostname)" >> $GITHUB_ENV
|
|
echo "GO_VERSION=$(go version | awk '{print $3}')" >> $GITHUB_ENV
|
|
echo "BUILD_USER=$(whoami)" >> $GITHUB_ENV
|
|
echo "CGO_ENABLED=1" >> $GITHUB_ENV
|
|
|
|
- name: Docker Login
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Release with goreleaser
|
|
uses: goreleaser/goreleaser-action@v6
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
with:
|
|
version: latest
|
|
args: release --clean
|
|
id: goreleaser
|
|
- name: Attest Binaries
|
|
uses: actions/attest-build-provenance@v1
|
|
with:
|
|
subject-path: '${{ github.workspace }}/dist/magellan_linux_amd64_v1/magellan'
|