Skip to content

chore(genvm): update runner hashes to v0.3.0-rc7 ⬆️ - #1744

Merged
ci-core-e2e-runner[bot] merged 1 commit into
v0.123-devfrom
chore/update-genvm-runner-hashes
Aug 24, 2026
Merged

chore(genvm): update runner hashes to v0.3.0-rc7 ⬆️#1744
ci-core-e2e-runner[bot] merged 1 commit into
v0.123-devfrom
chore/update-genvm-runner-hashes

Conversation

@kp2pml30

@kp2pml30 kp2pml30 commented Aug 19, 2026

Copy link
Copy Markdown
Member

Depends-On: genlayerlabs/genvm-manager#24

What

Moves Studio onto GenVM v0.3.0-rc7 through genvm-manager #24. 52 files:

  • Runner hashes — 32 files. All examples/contracts/*.py, tests/integration/icontracts/contracts/**, tests/direct/**, tests/load/contracts/counter.py, tests/test_linter_endpoint.py, tests/unit/test_genvm_debug_mode_gate.py, tests/integration/test_{upgrade_contract,deploy_reroute_to}.py, plus .github/workflows/genvm-lint.yml — its skip-list greps the pin, so a stale value there would silently re-enable linting for contracts the released linter cannot load
  • Re-vendored backend/node/genvm/origin/base_host.py, fees.py, public_abi.py, plus host_fns.py and log_asserts.py, which upstream changed in 164d508 and Studio had never picked up. host_fns.ResultCode is now mandatory because base_host references it
  • accepteddecided at the two GenVM boundaries, and StorageType.LATEST_FINALLATEST_FINALIZED
  • ResultCode moved public_abihost_fns at all 9 call sites (public_abi's copy lost INTERNAL_ERROR)
  • docker/scripts/download_genvm.sh probes .zip then .tar in the shared runners tree; legacy-runners stays .tar
  • third_party/genvm/version follows the verified current head of fix/vm-fatal-errors in genvm-manager OpenAI integration #24

Why

The pre-finalization state was renamed from accepted to decided on the wire with no back-compat alias, and every v0.3-line runner hash changed. Hosts and SDKs have to move in lockstep — a contract pinning a hash absent from the installed build simply fails to run.

Testing done

  • tests/unit1207 passed, 7 skipped in a venv built from the repo's requirements
  • ruff clean; black clean on everything touched
  • Postgres-backed suites (tests/consensus, tests/db-sqlalchemy) and integration/e2e were not runnable locally
  • A fresh-context review agent audited the diff; its two real findings (the workflow skip-list, one missed ResultCode import) are folded into the commit

Decisions made

  • The rename stops at the GenVM boundary. _emission_on in backend/node/genvm/base.py maps inbound decidedaccepted; _genvm_message_on and the unmetered allocation in backend/protocol_rpc/fees.py send decided outbound. Studio's own accepted is a transaction status and a persisted triggered_on column value — renaming it through would mean a DB migration plus RPC and frontend changes for no behavioural gain
  • Re-vendoring convention reverse-engineered from history: upstream file copied verbatim, then black + autoflake. Studio's copies were byte-identical to black(upstream@12a0b4d), i.e. zero local patches, so no smart-merge was needed
  • v0.121 is untouched — it is still on the v0.2 line (1jb45aa8…), whose hashes did not change

Reviewing tips

The 32 hash-bump files are mechanical; the review value is in backend/node/genvm/origin/ (re-vendor) and the 3 boundary sites that map decidedaccepted.

Known issues

  • This cannot merge before genvm-manager#24 does. The development pin follows OpenAI integration #24's feature branch at an exact commit; release packaging must replace it with the eventual release tag
  • RUNNER_PINS in download_genvm.sh greps py-genlayer:[a-z0-9]+, which never matches py-genlayer-multi: — pre-existing, but the multi hash now goes unverified at acquisition time
  • backend/protocol_rpc/fees.py and tests/integration/test_upgrade_contract.py carry a pre-existing blank-line diff under modern black

Checks

  • I have tested this code
  • I have reviewed my own PR
  • I have set a descriptive PR title compliant with conventional commits

User facing release notes

Studio now targets GenVM v0.3.0-rc7. Contracts must pin the rc7 runner hashes and use on='decided' in place of on='accepted'.

Changeset

Repo PR Base
genvm-manager genlayerlabs/genvm-manager#24 v0.6-dev
genlayer-node genlayerlabs/genlayer-node#1753 v0.6-dev
genlayer-studio #1744 v0.123-dev
genlayer-py genlayerlabs/genlayer-py#105 v0.19-dev
genlayer-testing-suite genlayerlabs/genlayer-testing-suite#106 v0.30-dev
genlayer-e2e genlayerlabs/genlayer-e2e#723 main
genlayer-dev-env genlayerlabs/genlayer-dev-env#130 main

No PR for genlayer-js or genlayer-consensus — neither needed a change.

Depends-On: is declared only against genvm-manager#24 here. genlayerlabs/genlayer-node#1753 is the hub: it carries Depends-On for every repo in the set, so one E2E run from there resolves the whole closure and fans checks out to each open PR. Sibling rows above are deliberately plain links — a fully-connected mesh would be a dependency cycle, which the E2E dispatcher rejects.

@kp2pml30 kp2pml30 self-assigned this Aug 19, 2026
@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

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 Plus

Run ID: 445febc9-06f5-4cda-94af-b0bef1282ac0

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

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
kp2pml30 force-pushed the chore/update-genvm-runner-hashes branch from d84c4bd to 2da2c6b Compare August 21, 2026 09:35
@MuncleUscles
MuncleUscles force-pushed the chore/update-genvm-runner-hashes branch from 01ad3ee to 2da2c6b Compare August 21, 2026 10:25
Squashed: the v0.3.0-rc7 runner-hash bump and the gl_call v1 repin with the
re-vendored backend/node/genvm/origin/ mirror.
@kp2pml30
kp2pml30 force-pushed the chore/update-genvm-runner-hashes branch from 2da2c6b to badb7b0 Compare August 21, 2026 11:33
@ci-core-e2e-runner
ci-core-e2e-runner Bot merged commit 5ff1149 into v0.123-dev Aug 24, 2026
24 checks passed
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.

2 participants