Prebuilt xsnap-worker binary packages for @agoric/xsnap.
linux-x64linux-arm64darwin-x64darwin-arm64
Windows is not supported.
@agoric/xsnap-linux-x64@agoric/xsnap-linux-arm64@agoric/xsnap-darwin-x64@agoric/xsnap-darwin-arm64
packages/: platform npm packages.scripts/: build, stage, verify, and publish scripts.manifests/: generated SHA256 manifests..github/workflows/: CI, verify, and release workflows.
See COMPATIBILITY.md for Linux ABI compatibility requirements with agoric-sdk runtime images.
For version X.Y.Z:
- Publish all four platform packages at
X.Y.Z. - Verify package availability on npm.
- Unblock
@agoric/xsnap@X.Y.Zrelease in agoric-sdk.
npm run ci:build
npm run ci:stage
npm run ci:manifest
npm run ci:verifyci:build uses mock artifacts by default for bootstrap validation.
Real build mode is available:
TARGETS="$(uname | tr '[:upper:]' '[:lower:]')-$(uname -m | sed -e 's/x86_64/x64/' -e 's/aarch64/arm64/' -e 's/arm64/arm64/')" \
npm run ci:build:realNotes for real mode:
- Build host must match target (
linux-x64,linux-arm64,darwin-x64,darwin-arm64). - Source is pulled from
Agoric/agoric-sdk(override withAGORIC_SDK_REPO,AGORIC_SDK_REF,AGORIC_SDK_DIR).
The build-real workflow builds each supported target in a matrix, then assembles a combined artifact:
release-bundle-<version>(GitHub Actions artifact)- Includes:
dist/<target>/{release,debug}/xsnap-workerpackages/<package>/with stagedbin/content- merged manifest
manifests/<version>.json xsnap-worker-binaries-<version>.tar.gz
You can promote a successful build-real run to a GitHub Release without touching npm:
gh workflow run publish-github-release \
-f version=X.Y.Z \
-f build_real_run_id=<build-real-run-id> \
-f prerelease=true \
-f dry_run=trueSet dry_run=false to actually create tag vX.Y.Z and upload:
xsnap-worker-binaries-X.Y.Z.tar.gzxsnap-worker-manifest-X.Y.Z.json
agoric-sdk CI can consume these release assets directly:
./scripts/download-release-assets.sh X.Y.Z /tmp/xsnap-assets
tar -xzf /tmp/xsnap-assets/xsnap-worker-binaries-X.Y.Z.tar.gz -C /tmp/xsnap-assets
target="$(./scripts/host-target.sh)"
export XSNAP_WORKER="/tmp/xsnap-assets/dist/${target}/release/xsnap-worker"Then run agoric-sdk tests with XSNAP_WORKER override enabled.