feat(release): aarch64-linux + WASM target + SHA256 verification (arch-4 §4)#61
Merged
feat(release): aarch64-linux + WASM target + SHA256 verification (arch-4 §4)#61
Conversation
|
…h-4 §4) * release.yml: add 5th matrix entry for aarch64-unknown-linux-gnu using the cross crate (pinned rev 4090beca3cfffa44371a5bba524de3a578aa46c3). * release.yml: add new build-wasm job using wasm-pack to publish aihu-compile-wasm.tar.gz for the homepage playground (Directive 1 + arch-4 §4.6) — emits a non-blocking warning if gzipped .wasm exceeds 500KB. Release job now needs [build, build-wasm]. * release.yml: SHA256 sidecars generated for every binary (Unix sha256sum, Windows Get-FileHash) and uploaded alongside the asset. * postinstall.ts: add linux/arm64 case in resolveAsset(); add verifySha256() using node:crypto createHash; hard-fail on digest mismatch (binary deleted, exit 1) per arch-4 §4.3; soft-warn on sidecar 404 to allow pre-v1.1 releases without sidecars; resolves the TODO(v1.x) comment. * WASM.md: replace 'Release Workflow Integration' stub with full 'CI Release Flow' section covering matrix, cross-compilation, WASM job, SHA256 verification, and dry-run via workflow_dispatch. * .gitignore: ignore target/, pkg-wasm/, *.sha256. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c861a41 to
08ddbe2
Compare
This was referenced May 5, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements arch-4 §4 (CI release pipeline updates) and arch-4 §4.6 (WASM bundle for homepage playground per Directive 1). Resolves the
TODO(v1.x)inpackages/compiler/js/postinstall.ts.What changed
Release workflow (
.github/workflows/release.yml)use_cross: true)npm install @aihu/compileron Linux ARM (Raspberry Pi, Cloudflare Workers ARM, AWS Graviton) currently downloads nothing.build-wasmjob usingwasm-pack, publishesaihu-compile-wasm.tar.gzreleases/latest/download/aihu-compile-wasm.tar.gz. Emits non-blocking::warning::if gzipped.wasm>500 KB.sha256sum, WindowsGet-FileHash)releasejobneeds: [build, build-wasm]Postinstall verification (
packages/compiler/js/postinstall.ts)linux/arm64case inresolveAsset()returningaihu-compile-linux-arm64verifySha256()usingnode:cryptocreateHash('sha256')main()Documentation (
packages/compiler/WASM.md)Replaced the brief
Release Workflow Integrationparagraph with a fullCI Release Flowsection covering:cross(pinned commit)workflow_dispatch.gitignore(packages/compiler/.gitignore)Added
target/,pkg-wasm/,*.sha256so local release-asset staging never accidentally lands in git.Verification
python -c "import yaml; yaml.safe_load(open('.github/workflows/release.yml'))"→ OKuse_cross)aarch64-linuxentry alone usescross— installed once per matrix run at the pinned revOut of scope (held)
<playground-embed>custom element — gates on the firstv1.1.0tag push that produces the WASM bundleSpec sources
🤖 Generated with Claude Code