two/.forgejo/workflows/build.yml
GnomeZworc 4f591f6ab5
f-46: ci: align go version with the module #46
build.yml épinglait setup-go sur 1.21 alors que le module déclarait go 1.24.0 :
la compilation se faisait en réalité avec la toolchain téléchargée par
GOTOOLCHAIN=auto, et le workflow affichait une version qui n'était pas celle qui
compilait.

Le passage à go-version-file: go.mod, qui supprimerait la dérive pour de bon,
est renvoyé à #48 — un input de setup-go n'est validable qu'en poussant un tag
tant que rien ne se déclenche sur push.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-09-05 23:17:57 +02:00

43 lines
No EOL
1.2 KiB
YAML

on:
workflow_call:
inputs:
tag:
required: true
type: string
goos:
required: true
type: string
goarch:
required: true
type: string
binari:
required: true
type: string
jobs:
build:
runs-on: docker
env:
RELEASE_CIBLE: ${{ inputs.tag }}
GOOS: ${{ inputs.goos }}
GOARCH: ${{ inputs.goarch }}
BINARI: ${{ inputs.binari }}
CGO_ENABLED: 0
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v5
with:
go-version: "1.25.14"
- name: Build du projet
run: |
echo "Building for ${BINARI}/${GOOS}/${GOARCH} (release: ${RELEASE_CIBLE})"
go env GOOS GOARCH
mkdir -p dist/
go build -o dist/${BINARI}_${GOOS}_${GOARCH} ./cmd/${BINARI}
echo "artifact pour ${RELEASE_CIBLE} ${BINARI} ${GOOS} ${GOARCH}" > dist/${BINARI}-${GOOS}-${GOARCH}.txt
ls -l ./dist
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: ${{ env.BINARI }}-${{ env.RELEASE_CIBLE }}-${{ env.GOOS }}-${{ env.GOARCH }}
path: dist/${{ env.BINARI }}_${{ env.GOOS }}_${{ env.GOARCH }}