Skip to content

fix: stop tag-stamping scaffold versions in release builds (labelle-cli#322) - #629

Merged
apotema merged 1 commit into
mainfrom
fix/release-scaffold-versions
Jul 18, 2026
Merged

fix: stop tag-stamping scaffold versions in release builds (labelle-cli#322)#629
apotema merged 1 commit into
mainfrom
fix/release-scaffold-versions

Conversation

@apotema

@apotema apotema commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Assembler half of labelle-toolkit/labelle-cli#322.

Root cause (deeper than the ticket)

The release workflow built with -Dcli_version="$VERSION" -Dcore_version="$VERSION" -Dengine_version="$VERSION" -Dgfx_version="$VERSION"the assembler tag stamped into every scaffold field. A released binary's init therefore scaffolds core_version = "0.91.0" etc. (the ticket's "0.40.0-era everything" was this bug at an older tag). And -Dassembler_version was never stamped, so releases scaffolded the stale build.zig.zon fallback (0.77.0).

Empirical probe of the released v0.91.0 binary, init with no flags:

.core_version = "0.91.0", .engine_version = "0.91.0", .gfx_version = "0.91.0",
.labelle_version = "0.91.0", .assembler_version = "0.77.0"

Five broken pins out of five.

Fix

  • release.yml: stamp ONLY -Dassembler_version="$VERSION" (the one field that should carry the tag). The cli/core/engine/gfx scaffold defaults come from build.zig's curated set.
  • build.zig: cli_version default "dev""1.57.0" (a scaffold pin must be a real released CLI version; now curated with the trio); trio bumped 1.24.0/1.78.0/1.23.0core 1.26.0 / engine 2.5.0 / gfx 1.28.1.

Verified

  • The curated set builds end-to-end from released tarballs: init → generate → zig build = build ok (raylib desktop scaffold).
  • Fixed local binary scaffolds .y_axis = .down + the curated pins.
  • zig build test: same 2 pre-existing environmental failures as main, nothing new.

Follow-up

The CLI half (bump DEFAULT_ASSEMBLER_VERSION past 0.40.0 to the release carrying this fix + a released-path init smoke test so neither can rot invisibly again) lands against labelle-cli#322 once this ships in a release.

https://claude.ai/code/session_011szWvquoss1yNX7KWSKCaM


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features

    • New projects now use updated, validated framework component versions by default.
    • CLI builds now report version 1.57.0 instead of a development version.
  • Bug Fixes

    • Release builds now apply version metadata only to the assembler, preventing unrelated components from receiving the same version.

…li#322)

The release workflow passed -Dcli_version/-Dcore_version/-Dengine_version/
-Dgfx_version all set to the ASSEMBLER TAG, so every released binary's
`init` scaffolded nonsense pins (core_version = "0.91.0", etc. — the
"0.40.0-era everything" in labelle-cli#322 was this same bug at an older
tag). Meanwhile -Dassembler_version was NOT stamped, so releases
scaffolded the stale build.zig.zon fallback (0.77.0) there.

- release.yml: stamp ONLY -Dassembler_version="$VERSION"; the cli/core/
  engine/gfx defaults come from build.zig's curated set.
- build.zig: cli_version default "dev" → "1.57.0" (a scaffold pin must
  be a real released CLI version; curated with the trio); trio bumped
  to core 1.26.0 / engine 2.5.0 / gfx 1.28.1 — set verified end-to-end
  (init → generate → full compile with released tarballs).

Local probe of the fixed binary scaffolds:
  .y_axis = .down, core 1.26.0, engine 2.5.0, gfx 1.28.1, labelle 1.57.0

Paired CLI fix (DEFAULT_ASSEMBLER_VERSION bump + released-path smoke
test) follows in labelle-cli#322 once this ships in a release.

Claude-Session: https://claude.ai/code/session_011szWvquoss1yNX7KWSKCaM
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 49a0bb9e-2b96-40b5-a97c-633ee0562230

📥 Commits

Reviewing files that changed from the base of the PR and between 94fc78b and 0d72532.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • build.zig

📝 Walkthrough

Walkthrough

The build defaults now use a validated CLI and component version set. Release builds stamp only the assembler version, leaving scaffolded component versions at their configured defaults.

Changes

Version stamping alignment

Layer / File(s) Summary
Version defaults and release stamping
build.zig, .github/workflows/release.yml
build.zig updates the CLI and scaffolded component defaults, while the release workflow passes only assembler_version instead of applying the release tag to every component.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

A bunny checks the version tag,
“Only assembler!” says the flag.
Core and engine keep their tune,
GFX hops beneath the moon.
With defaults neat and release bright,
The build skips off into night.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main fix: release builds no longer stamp scaffold versions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-scaffold-versions

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the default versions of the CLI and framework libraries (core, engine, and gfx) in build.zig to a mutually compatible set (cli 1.57.0, core 1.26.0, engine 2.5.0, and gfx 1.28.1). It also updates the accompanying comments to document this verified combination. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@apotema
apotema merged commit bee45b0 into main Jul 18, 2026
4 checks passed
@apotema
apotema deleted the fix/release-scaffold-versions branch July 18, 2026 15:04
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