Skip to content

fix(release): build Linux and Windows binaries, publish release notes - #24

Merged
New1Direction merged 2 commits into
mainfrom
claude/project-thread-drllwy
Oct 5, 2026
Merged

New1Direction merged 2 commits into
mainfrom
claude/project-thread-drllwy

Conversation

@New1Direction

@New1Direction New1Direction commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Requested by dusk · project thread

Before: the v0.2.0 release (and v0.1.0 before it) only got the two macOS binaries and has an empty description. The Linux job failed in openssl-sys (no musl OpenSSL for reqwest's default TLS) and the Windows job failed to link with LNK2038 (esaxx-rs from tokenizers always uses the static CRT, mimalloc used the dynamic one). See run 37283526999.

After: Linux builds the glibc target and Windows builds with +crt-static, so all four binaries should attach. A new release-notes job sets the release body from .github/release-notes/<tag>.md, and this PR adds the v0.2.0 notes. A manual trigger takes a tag, so v0.2.0 can get its missing binaries and notes without moving the tag.

How: edits to .github/workflows/release.yml plus the notes file. On a manual run, the build jobs check out and upload to the tag input, and the notes job reads its file from main. On a tag push everything falls back to the pushed ref, as before. The Windows fix is the standard one for this tokenizers/mimalloc CRT mismatch. I couldn't run a Windows build locally, so the real check is the manual run after merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QsuMoxNk88vZYnxPepuUKV

…a tag

Both v0.1.0 and v0.2.0 shipped with only the macOS binaries:
- Linux musl failed in openssl-sys (reqwest's default TLS needs OpenSSL,
  which the runner has no musl build of). Build the glibc target instead.
- Windows failed with LNK2038: esaxx-rs (via tokenizers) always uses the
  static CRT while mimalloc used the dynamic one. Build with +crt-static.

Add a workflow_dispatch trigger with a tag input so the missing binaries
can be attached to an existing release without moving its tag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsuMoxNk88vZYnxPepuUKV
@New1Direction New1Direction self-assigned this Oct 5, 2026
Add the v0.2.0 notes and a release-notes job that sets the GitHub release
body from that file. On a manual run it reads the notes from main, so notes
can be added after a tag is cut.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsuMoxNk88vZYnxPepuUKV
@New1Direction New1Direction changed the title fix(release): build Linux and Windows binaries, allow re-running for a tag fix(release): build Linux and Windows binaries, publish release notes Oct 5, 2026
@New1Direction
New1Direction merged commit b26e1f4 into main Oct 5, 2026
3 checks passed
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.

2 participants