Skip to content

fix(build): migrate to cranelift-isle 0.132.1 + wasmparser 0.251 — tag builds again (closes #198, v1.1.13)#199

Merged
avrabe merged 1 commit into
mainfrom
fix/198-build-from-tag-deps
Jun 11, 2026
Merged

fix(build): migrate to cranelift-isle 0.132.1 + wasmparser 0.251 — tag builds again (closes #198, v1.1.13)#199
avrabe merged 1 commit into
mainfrom
fix/198-build-from-tag-deps

Conversation

@avrabe

@avrabe avrabe commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

gale #198 — v1.1.12 doesn't build from tag

v1.1.12's committed deps (cranelift-isle 0.132.1, wasmparser 0.251, pulled by the wasmtime-45 bump) landed without the source migration, so cargo install from the tag failed. (Earlier builds only passed on a stale Cargo.lock — the non-reproducibility gale flagged.)

Migrated

cranelift-isle 0.132.1: CodegenOptions literal → ..Default::default(); dropped duplicate (type u32 …) (prelude provides it); extern crate alloc for generated alloc:: paths.
wasmparser 0.251: import parsing → new Imports enum (Single(usize, Import); compact encodings Compact1/Compact2 are not modeled → parse_wasm errs → caller keeps original bytes, fail-safe); ComponentExternName.0.name; dropped removed cm_async_builtins.

Validation

Builds clean against committed deps. 395 lib + 85 integration pass. Behavioral falcon gate unchangedrun-stabilization 0.023399856, run-position-hold 0.1317415 (matches original; import-parse migration + #196 fail-safe both behaviorally correct).

Note

A committed Cargo.lock/pinned deps would prevent this from-tag non-reproducibility class; tracked separately.

Known-red (pre-existing)

Closes #198.

🤖 Generated with Claude Code

…he tag builds (closes #198)

v1.1.12's committed deps (cranelift-isle 0.132.1, wasmparser 0.251 — pulled
by the wasmtime-45 bump) landed without the source migration, so the tag
failed `cargo install` from a clean checkout (gale could not build the #196
fix). Earlier session builds only passed on a stale Cargo.lock.

cranelift-isle 0.132.1:
- build.rs CodegenOptions literal → add `..Default::default()` (grew fields)
- types.isle → drop duplicate `(type u32 ...)` (prelude provides it now)
- loom-shared/src/lib.rs → `extern crate alloc` (generated code emits alloc::)

wasmparser 0.251:
- import parsing → new `Imports` enum: handle `Single(usize, Import)`; the
  compact-import encodings (Compact1/Compact2) are NOT modeled, so parse_wasm
  returns Err on them and the caller keeps original bytes (fail-safe)
- ComponentExternName: tuple `.0` → struct field `.name`
- drop removed `cm_async_builtins` feature flag

Verified: builds clean against committed deps; 395 lib + 85 integration pass;
behavioral falcon gate unchanged (run-stabilization 0.023399856,
run-position-hold 0.1317415 == original) — import-parse migration + #196
fail-safe both behaviorally correct.

Bumps 1.1.12 -> 1.1.13.

Closes #198.

Trace: REQ-12
@avrabe avrabe merged commit c818e68 into main Jun 11, 2026
7 of 19 checks passed
@avrabe avrabe deleted the fix/198-build-from-tag-deps branch June 11, 2026 05:31
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.

v1.1.12 does not build from tag (CodegenOptions literal + ISLE u32 prelude collision vs locked cranelift-isle 0.132.1)

1 participant