From 3eea496b9f7b499a3b21fb55bb046a4b87c6a422 Mon Sep 17 00:00:00 2001 From: k3nny Date: Thu, 30 Jul 2026 22:03:56 +0200 Subject: [PATCH] feat(release): :rocket: ajout arm64 --- .gitea/workflows/release.yml | 14 +++++++++++++- INSTALL.md | 1 + README.md | 1 + Taskfile.yml | 19 ++++++++++++++++++- 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 94d6f39..64abf19 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -81,6 +81,17 @@ jobs: -o glint-${{ github.ref_name }}-windows-amd64.exe \ ./cmd/glint/... + - name: Build Windows (arm64) + env: + GOOS: windows + GOARCH: arm64 + CGO_ENABLED: "0" + run: | + go build -trimpath \ + -ldflags="-s -w -X main.version=${{ github.ref_name }}" \ + -o glint-${{ github.ref_name }}-windows-arm64.exe \ + ./cmd/glint/... + - name: Create release and upload assets env: TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -100,7 +111,8 @@ jobs: glint-${TAG}-linux-arm64 \ glint-${TAG}-darwin-amd64 \ glint-${TAG}-darwin-arm64 \ - glint-${TAG}-windows-amd64.exe; do + glint-${TAG}-windows-amd64.exe \ + glint-${TAG}-windows-arm64.exe; do curl -sf -X POST \ -H "Authorization: token $TOKEN" \ -H "Content-Type: application/octet-stream" \ diff --git a/INSTALL.md b/INSTALL.md index 45717c3..16aa298 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -36,6 +36,7 @@ Pre-built binaries are attached to each [release](https://git.k3nny.fr/k3nny/gli | macOS Intel | `glint-vX.Y.Z-darwin-amd64` | | macOS Apple Silicon | `glint-vX.Y.Z-darwin-arm64` | | Windows x86-64 | `glint-vX.Y.Z-windows-amd64.exe` | +| Windows ARM64 | `glint-vX.Y.Z-windows-arm64.exe` | ### Linux (amd64) diff --git a/README.md b/README.md index 7ea5e8a..a3d4f2b 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ task build-linux-arm64 # cross-compile for Linux ARM64 (requires a tagged comm task build-darwin-amd64 # cross-compile for macOS Intel (requires a tagged commit) task build-darwin-arm64 # cross-compile for macOS Apple Silicon (requires a tagged commit) task build-windows # cross-compile for Windows x86-64 (requires a tagged commit) +task build-windows-arm64 # cross-compile for Windows ARM64 (requires a tagged commit) task build-release # build all platform binaries at once (requires a tagged commit) task clean # remove build artifacts ``` diff --git a/Taskfile.yml b/Taskfile.yml index 9158d0d..9220737 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -226,6 +226,22 @@ tasks: generates: - "{{.BINARY}}-{{.TAG}}-windows-amd64.exe" + build-windows-arm64: + desc: Build the glint binary for Windows ARM64 (requires a tagged commit) + vars: + TAG: + sh: git describe --tags --exact-match + preconditions: + - sh: git describe --tags --exact-match + msg: "Current commit is not tagged — release build requires a git tag" + cmds: + - "GOOS=windows GOARCH=arm64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}-windows-arm64.exe ./cmd/glint/..." + sources: + - "**/*.go" + - go.mod + generates: + - "{{.BINARY}}-{{.TAG}}-windows-arm64.exe" + build-release: desc: Build release binaries for all supported platforms (requires a tagged commit) cmds: @@ -234,6 +250,7 @@ tasks: - task: build-darwin-amd64 - task: build-darwin-arm64 - task: build-windows + - task: build-windows-arm64 fuzz: desc: "Run all fuzz targets (set FUZZ_TIME=60s to control per-target duration, default 30s)" @@ -270,4 +287,4 @@ tasks: clean: desc: Remove build artifacts - cmd: rm -f {{.BINARY}} {{.BINARY}}-*.exe {{.BINARY}}-*-linux-amd64 + cmd: rm -f {{.BINARY}} {{.BINARY}}-*.exe {{.BINARY}}-*-linux-amd64 {{.BINARY}}-*-linux-arm64 {{.BINARY}}-*-darwin-amd64 {{.BINARY}}-*-darwin-arm64