Repository navigation
Update Hyperlight to 0.18, hyperlight-js 0.5 and hyperlight-wasm 0.16 - #46
Merged
Merged
Conversation
ludfjig
added a commit
that referenced
this pull request
Nov 10, 2026
`actions/deploy-pages` uses `GITHUB_SHA` as the Pages build version. Pages runs on `main`, so every deploy between merges reuses one version, and the status check reports success right away. On #46, a deploy reported success but Pages kept serving the previous site, so the preview stayed stale with a green job. * Assemble adds marker files at a path unique to the run attempt. * After deploying, the job polls a different marker every 10 seconds and fails after 5 minutes. Fresh paths avoid 404s cached by the CDN, which ignores query strings. The check only runs from `main`, so it gets exercised after merge. Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
ludfjig
force-pushed
the
hyperlight-0.18
branch
from
November 10, 2026 21:31
aa2a602 to
00c91ce
Compare
ludfjig
added a commit
that referenced
this pull request
Nov 10, 2026
The build cache key included a hash of `tool-versions.sh`, and rust-cache only falls back across `Cargo.lock` changes. Bumping any tool discarded the whole cache, so #46 rebuilt every tool and crate from scratch. * Tool binaries use a separate cache keyed by `tool-versions.sh`, with a fallback to older tool sets. `setup-tools.sh` reinstalls only tools whose versions differ. * The build cache key keeps only the `cargo-hyperlight` version, since that tool builds the dummy guest into a cached target directory. Every cache misses once after merge because the keys change. Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
hyperlight-js 0.5.0 and hyperlight-wasm 0.16.0 require hyperlight-host 0.18, so the host and guest crates move to 0.18.0, not 0.19.0. hyperlight-wasm-aot 0.16.0 locks Wasmtime 36.0.18 and Cranelift 0.123.18. The server pins the same versions so it can load the AOT artifacts. hyperlight-wasm 0.16 snapshots are typed, so the Wasm handler keeps a Snapshot<LoadedWasmSandbox>. The dummy handler uses Sandbox, the new name for MultiUseSandbox. The dummy guest keeps only its #[guest_function] handler. In 0.18 guest_dispatch_function returns Result<ReturnValue>, and its default returns the same GuestFunctionNotFound error. hyperlight_main has a no-op default, and srand is only needed with the libc feature, which the guest disables. Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
ludfjig
force-pushed
the
hyperlight-0.18
branch
from
November 11, 2026 00:22
00c91ce to
de455e8
Compare
This was referenced Nov 11, 2026
ludfjig
added a commit
to hyperlight-dev/hyperlight-js
that referenced
this pull request
Nov 12, 2026
`get_loaded_sandbox` and `unload` each called `RegisterHostModules`, although the base snapshot already holds that registration. A load/unload cycle made four guest calls, but only `register_handler` and `RunHandler` are needed. In hyperlight-dev/hyperlight-bench#46, `kvm-hyperlight-js-reload` lost 15% throughput against 0.4.0. This change registers host functions only when a restored snapshot records different ones than the builder supplies. It then takes a new base snapshot, so later cycles skip registration. `full_lifecycle/add_load_handle_unload`: | | main | this PR | |---|---|---| | MSHV | 415 µs | 315 µs | | KVM | 248 µs | 203 µs | KVM stays about 10% slower than 0.4.0 because each guest call costs more in Hyperlight 0.18. Breaking: the snapshot metadata schema is now 2. Snapshots from 0.5.0 can record host functions their base never registered, so they are rejected and must be recreated. --------- Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
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.
Update Hyperlight to 0.18.0, hyperlight-js to 0.5.0 and hyperlight-wasm to 0.16.0.
Sandboxname.#[guest_function]handler. 0.18 provides defaults for the entry points it defined.