Skip to content

arm-build.yml: native ARM64 build check on GitHub's Arm runners (manual, nothing published) - #43

Draft
rorychatt wants to merge 7 commits into
mainfrom
arm-build-check
Draft

rorychatt wants to merge 7 commits into
mainfrom
arm-build-check

Conversation

@rorychatt

@rorychatt rorychatt commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

A manual workflow that builds the SpaceCorps 2027 client natively on GitHub's free Arm runners (ubuntu-24.04-arm, windows-11-arm) and starts it headless 8 times per build. It proves what the x86_64 release PC cannot (Linux ARM64 only runs under QEMU there; a Windows on Arm exe cannot run at all). Nothing is released or published, no binary is uploaded (artifacts of a public repository are public), only the screenshots the headless game writes.

  • Source: cloned with the existing read-only SOURCE_TOKEN, like mac-build.yml; the build log stays on the runner, only each error's message and place and the game's own start-up lines are printed.
  • A pull request that changes this file runs the probe only (what the runners have), no secret.
  • The builds are started by hand: gh workflow run arm-build.yml -R SpaceCorps/play --ref arm-build-check -f ref=<SpaceCorps2027 ref> -f jobs=probe|linux|windows|x64|all. x64 is a control: the released x64 zip (sha-checked) started 8 times on windows-11-arm and on windows-latest.
  • Results on 2026-11-04 (0.5.0's code): Linux ARM64 8 of 8 starts ran; Windows ARM64 gnullvm 5 of 8, msvc 3 of 8; the x64 control 0 of 8 on both runners (a Microsoft WARP compiler bug, docs/design/warp-start-crash.md). On 2026-11-05 from lane/052-arm (which has the game's guard against it): Linux 8 of 8, Windows gnullvm 8 of 8, msvc 8 of 8. Details in the note.

Part of SpaceCorps/SpaceCorps2027#50 (docs/design/arm-builds.md, section 4). Do not merge before the owner says so; it only needs to be on main if the release job should start it.

🤖 Generated with Claude Code

rorychatt and others added 7 commits November 4, 2026 16:29
…manual, nothing is published)

A pull request that changes the file runs the probe only (no secret). The builds
are started by hand: gh workflow run arm-build.yml -f ref=<ref> -f jobs=linux|windows|all.
Only screenshots are uploaded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…-emulated job

The first Windows runs built both ARM64 exes and both crashed ~4 s in (WARP, first
frame). The diagnose step starts the exe with a bigger stack (the ARM64 exes reserve
1 MiB, the x64 MinGW release 2 MiB) and prints Windows' crash report; the new job
starts the released x64 build under Windows' emulation, to tell the runner's
software renderer from our build.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ly some of the time)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant