ci: pin march to x86-64-v2, drop upload-artifact to v3
Some checks failed
CI / build-test-release (pull_request) Failing after 12m27s

Two CI fixes from run #276 (got all the way through tests + mingw cross-
compile + packaging, only failed on artifact upload):

march: workflow now sets CRAFTER_BUILD_MARCH=x86-64-v2 / MTUNE=generic;
project.cpp reads both and applies them to the lib + exe Configurations
so the self-rebuild and mingw cross-compile honor the same baseline.
v3 is unusable on the runner — Intel N5105 (Tremont) has no AVX2, so
a v3 bootstrap binary wouldn't even start. v2 (SSE4.2) runs on the SBC
and on every x86_64 CPU since ~2011.

upload-artifact: pinned to v3. v4+ uses a GHES-only API that Forgejo
Actions doesn't implement; the v3 action stays on the older API that
Forgejo supports.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jorijn van der Graaf 2026-04-28 23:57:43 +02:00
commit 87a64d3b3c
2 changed files with 24 additions and 1 deletions

View file

@ -10,6 +10,14 @@ on:
jobs:
build-test-release:
runs-on: arch-latest
env:
# x86-64-v2 = SSE4.2 baseline; runs on the CI SBC (Intel N5105 / Tremont,
# no AVX) and on essentially every x86_64 CPU since ~2011. v3 is out —
# it requires AVX2 the SBC doesn't have, so the bootstrap binary
# wouldn't even run there. mtune=generic keeps codegen balanced across
# consumer CPUs.
CRAFTER_BUILD_MARCH: x86-64-v2
CRAFTER_BUILD_MTUNE: generic
steps:
- name: Install build dependencies
run: |
@ -83,7 +91,9 @@ jobs:
ls -la dist/
- name: Upload workflow artifacts
uses: actions/upload-artifact@v4
# v4+ uses a GHES-only upload API Forgejo Actions doesn't implement;
# v3 stays on the older API that works on Forgejo.
uses: actions/upload-artifact@v3
with:
name: crafter-build
path: dist/