Skip to content

v0.2.0

Pre-release
Pre-release

Choose a tag to compare

@kaidesu kaidesu released this 31 Aug 00:27
· 1 commit to nightly since this release
aca4a49
Publish a Homebrew cask to ghost-language/homebrew-tap (#19)

Lumen has had a complete release pipeline for a while and has never used
it. The one thing missing is an install path: a user on macOS has to find
the releases page, pick the right archive, and clear the quarantine
attribute by hand.

The cask is generated here rather than by GoReleaser. Lumen links SDL2
through cgo, so it cannot cross-compile and the release is a native build
matrix across four runners; GoReleaser is not in this pipeline at all.

Two details differ from Ghost's cask. The archive holds a folder rather
than a bare binary, because the SDL2 dylibs travel beside the executable
with their install names rewritten to @executable_path/libs, so `binary`
points inside it and the libraries stay put. And the postflight clears
quarantine from the whole staged folder rather than just the executable,
since a quarantined dylib is refused as firmly as a quarantined binary.

The token is checked in `verify`, before any runner starts, rather than
where it is used. Ghost skips its cask push silently when the token is
absent, which produces a green release with a stale tap; discovering that
after four build jobs and an upload is worse than failing up front.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>