v0.2.1
Immutable
release. Only release title and notes can be modified.
Distribution fixes — the first release whose release.yml produces an
attached, working Metal binary. v0.1.0 and v0.2.0 shipped with no binary
asset (the publish step invoked gh, which is not on PATH on the macOS
runner) and a sim kernel that loaded its Metal library from a build-tree
path, breaking relocated binaries.
Added
- User-acceptance smoke gate (
scripts/ci/user_acceptance_smoke.sh):
a shared post-install verification (--version,sim,cosim
apb_trace perdocs/installation.md§ Verify) that now gates the
release-workflow publish step. The missingsimcoverage is what let
v0.2.0 ship a broken binary. user-acceptance.ymlstandaloneworkflow_dispatch: build → install
to a clean directory → run the smoke script against the relocated binary.- TestPyPI publish job in
publish-netlist-graph.yml(workflow_dispatch,
environmenttestpypi) to validate the OIDC trusted-publisher wiring
before the real PyPI tag.
Changed
docs/installation.md:cargo binstall jacquard→
cargo binstall --git ….jacquardis not on crates.io (the vendored
eda-infra-rsfork has diverged from its declared versions), so the
--gitform is required.crates/timing-ir/Cargo.tomlrepository URL →gpu-eda.docs/plans/distribution.md: added Phase 7 (eda-infra-rs upstreaming).
Fixed
- Release publish now attaches the binary: switched from
gh release createtosoftprops/action-gh-release(token API, noghdependency). - Relocatable
simMetal binary: thesimMetal kernel is now embedded
viainclude_bytes!instead of being read from a build-tree path, so the
shipped binary works when installed outside the build tree.