Skip to content

fix(gltest): resolve runners from local tree when GENVM_PREBUILT_DIR set#98

Open
kp2pml30 wants to merge 4 commits into
v0.30-devfrom
fix/glsim-local-runner-tree
Open

fix(gltest): resolve runners from local tree when GENVM_PREBUILT_DIR set#98
kp2pml30 wants to merge 4 commits into
v0.30-devfrom
fix/glsim-local-runner-tree

Conversation

@kp2pml30

@kp2pml30 kp2pml30 commented Jul 9, 2026

Copy link
Copy Markdown
Member

GenVM v0.6 dropped the monolithic runner bundle that gltest.direct / glsim download from the (retired) genlayerlabs/genvm releases, so under v0.6 every SDK load failed with No GenVM runner bundle for <version> — breaking the in-process glsim RPC-compat suite (every deploy) in the v0.6 e2e track.

When GENVM_PREBUILT_DIR points at a prebuilt GenVM tree, resolve the runner straight from its content-addressed tar (globbed under any *runners* dir, so both runners/ and executor/<ver>/legacy-runners/ resolve) and skip the download. The download path is untouched and stays the default when the env var is unset — backwards compatible for existing usage.

Pairs with the genlayer-e2e wiring that exports GENVM_PREBUILT_DIR into the glsim test step.

Part of the genvm-manager v0.6 migration changeset

Depends-On: genlayerlabs/genvm-manager#1
Depends-On: https://github.com/genlayerlabs/genlayer-node/pull/1502
Depends-On: https://github.com/genlayerlabs/genlayer-dev-env/pull/95
Depends-On: https://github.com/genlayerlabs/genlayer-e2e/pull/619
Depends-On: genlayerlabs/genlayer-studio#1697
Depends-On: genlayerlabs/genlayer-py#96
Depends-On: genlayerlabs/genlayer-js#192
Depends-On: #98

GenVM v0.6 dropped the monolithic runner bundle the direct/glsim loader
downloads from the (retired) genlayerlabs/genvm releases, so under v0.6 every
load failed with `No GenVM runner bundle for <version>`. When GENVM_PREBUILT_DIR
points at a prebuilt GenVM tree, extract the runner straight from its
content-addressed tar (globbed under any *runners* dir, so runners/ and
executor/<ver>/legacy-runners/ both resolve) and skip the download. Download
path is untouched and stays the default when the env var is unset.
@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9eaaa4b9-9d15-429f-8286-e257acbfc18e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/glsim-local-runner-tree

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

kp2pml30 and others added 3 commits July 9, 2026 17:56
The gltest/glsim test fixtures still used old-idiom markers that break under
GenVM v0.6: gl.DynArray/TreeMap -> gl.storage.*, gl.Contract ->
gl.contract.Contract, and callable gl.u256(x) -> plain x. Migrate all fixtures
under tests/ (examples/, glsim/, gltest/artifact/); Depends/runner-hash header
lines are untouched. Package source (gltest/, glsim/) is not changed.
The genvm release bundle moved from the retired genlayerlabs/genvm repo to
genlayerlabs/genvm-manager. Update both the download and release-discovery
URLs so the sdk_loader download fallback resolves against the live repo.
genvm-manager v0.6 ships a per-platform whole-tree tarball
(genvm-<arch>-<os>.tar.xz) instead of the retired runner-only bundle, so
the download fallback now selects the host asset and unpacks the whole
tree once (atomically, cached) into a GENVM_PREBUILT_DIR-shaped dir, then
resolves runners through the same glob path as the prebuilt tree. This
collapses the download and prebuilt paths onto one extraction routine and
handles both the current runners/ and the legacy-runners/ overlay.
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.

1 participant