Files
Loki/.github/workflows/release.yml
T

38 lines
1.3 KiB
YAML

# Release : sur tag vX.Y.Z, compile les 6 cibles et publie la release GitHub
# avec les binaires (mêmes noms d'assets que les releases manuelles historiques)
# ET le fichier SHA256SUMS que `jean update` (v0.4.6+) vérifie avant d'installer.
# ⚠️ NE PAS uploader de binaires à la main en plus : ce workflow écrase les
# assets du même nom (softprops remplace), et des sommes qui ne correspondent
# plus aux binaires font échouer `jean update` (vécu sur v0.4.7).
name: release
on:
push:
tags: ["v*"]
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: build 6 cibles
run: |
mkdir -p dist
for t in darwin/amd64 darwin/arm64 linux/amd64 linux/arm64 windows/amd64 windows/arm64; do
os=${t%/*}; arch=${t#*/}; ext=""; [ "$os" = windows ] && ext=".exe"
GOOS=$os GOARCH=$arch CGO_ENABLED=0 \
go build -trimpath -ldflags="-s -w" -o "dist/jean-$os-$arch$ext" ./cmd/jean
done
(cd dist && sha256sum jean-* > SHA256SUMS)
ls -l dist && cat dist/SHA256SUMS
- name: publier la release
uses: softprops/action-gh-release@v2
with:
files: dist/*
generate_release_notes: true