Skip to content

Publish for three platforms, not a fourth nothing can test - #7

Open
O6lvl4 wants to merge 1 commit into
mainfrom
develop
Open

O6lvl4 wants to merge 1 commit into
mainfrom
develop

Conversation

@O6lvl4

@O6lvl4 O6lvl4 commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

v0.5.1 was tagged and withdrawn without ever being published. This is why, and what it changes.

What happened

The release matrix added Intel macOS and ARM Linux. ARM Linux built in minutes. macos-13 sat queued for two hours and forty-eight minutes and never started — GitHub has been shrinking its Intel macOS capacity, and a repository may simply not be given one. The run was cancelled and the tag deleted; since the workflow publishes only after every build succeeds, nothing had been released, so v0.5.0 stayed latest throughout. That is the pipeline doing what it was written to do.

The choice

Cross-compiling for Intel on an Apple silicon runner would produce an archive, but the integration suite could not run the binary it produced, and neither could the verify job. Publishing a binary no machine has executed is the one thing this workflow exists to prevent.

So: macOS on Apple silicon, Linux on x86-64 and arm64. All three are built, tested against the file that ships, published as a prerelease, installed from that release on their own platform, checked to enforce there, and only then promoted.

An Intel Mac builds from source, and is told so by name — the installer explains why there is no binary and prints the three commands that build one, rather than reporting a 404 and leaving. Both READMEs say it too.

Why not just ship four and hope

Because that is the claim this project keeps making and would have broken: a restriction porta cannot enforce refuses the run; a platform porta cannot test does not get a binary.

🤖 Generated with Claude Code

The macos-13 runner sat queued for two hours and forty-eight minutes without
starting; the other three targets had long since built. GitHub has been
shrinking its Intel macOS capacity and a repository may simply not get one.

The only other way to publish for an Intel Mac is to cross-compile on Apple
silicon, where the integration suite cannot run the binary it produced.
Shipping something no machine has executed is the one thing this workflow
exists to prevent, so the matrix is macOS on Apple silicon and Linux on both
architectures, and an Intel Mac builds from source.

It is told so directly. Hitting the installer on an Intel Mac now explains why
there is no binary and prints the three commands that build one, instead of
reporting a 404 and leaving.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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