chore(l1,l2): bump version to 25.0.0 - #7215
Conversation
The four stateless-validator guest packages reach the ethrex crates through path dependencies, so their lockfiles pin the workspace version and go stale on a bump. `make update-cargo-lock` does not cover them while `check-cargo-lock` does, so they were refreshed by hand here.
… records `finalize-release` downloaded artifacts with `pattern: "*ethrex*"`, which also matches the build records the docker jobs upload as `<org>~ethrex~<id>.dockerbuild`. Those are not zip archives, so download-artifact exhausts its retries trying to extract them and the job dies before anything is published — no release, on any tag. Anchor the patterns instead: `ethrex*` for the binaries and contracts tarball, `stateless-validator-ethrex-*` for the guest ELF/VK. Together they select exactly the release assets and nothing else. The dry-run rehearsal did not catch this because it only waits on the guest builds, so it runs before the docker jobs have uploaded any build record. It now downloads only the artifacts it actually signs.
|
🤖 Kimi Code ReviewThis PR contains a routine workspace version bump (24.0.0 → 25.0.0) and a critical CI fix for the release workflow. Here's the review: CI/CD Fixes (
|
🤖 Claude Code ReviewThis confirms only crates that already carried I have enough to write the review now. Review: PR #7215 —
|
🤖 Codex Code ReviewNo findings. The workflow change in .github/workflows/tag_release.yaml and .github/workflows/tag_release.yaml looks correct: the new anchored patterns still cover the actual release artifacts ( The rest of the PR is a mechanical version bump in manifests/locks plus the generated CLI docs update in docs/CLI.md. No EVM, consensus, trie, RLP, transaction validation, or gas-accounting paths are touched. Residual risk: I did not execute the GitHub Actions workflow from this environment, so this is a static review only. Automated review by OpenAI Codex · gpt-5.4 · custom prompt |
Benchmark Results ComparisonNo significant difference was registered for any benchmark run. Detailed ResultsBenchmark Results: BubbleSort
Benchmark Results: ERC20Approval
Benchmark Results: ERC20Mint
Benchmark Results: ERC20Transfer
Benchmark Results: Factorial
Benchmark Results: FactorialRecursive
Benchmark Results: Fibonacci
Benchmark Results: FibonacciRecursive
Benchmark Results: ManyHashes
Benchmark Results: MstoreBench
Benchmark Results: Push
Benchmark Results: SstoreBench_no_opt
|
Resolves the conflict that appeared after `main` moved on: the ERE v0.16.2 guest upgrade (#7216) regenerated `crates/guest-program/stateless-validator/Cargo.lock` on `main` while this branch had regenerated the same file for the 25.0.0 bump. Both sides are needed, so the file was taken from `main` (for the upgraded ere dependency graph) and then regenerated against this branch's manifests, which re-pins the ethrex crates at 25.0.0. `make check-cargo-lock` passes.
…le (lambdaclass#7219) **Motivation** Every `Integration Test - TDX` run after 2026-08-25 15:29 UTC fails during "Start L1 & Deploy contracts", killing 56 E0046 errors deep in a third-party crate — including on the v25.0.0 merge-back (lambdaclass#7215). Runs that look green after that time merely skipped the job through the paths filter. The TDX prover itself is never reached. `alloy-sol-types 1.7.0` (published at that timestamp) added required trait methods (`abi_decode_returns_with_config` and friends) that the generated bindings in the pinned `automata-dcap-attestation` rev do not implement, so compiling `automata-dcap-evm-bindings` fails for anyone resolving fresh. Resolution floats because of our own recipe: the `automata-dcap-qpl` target deletes the cloned repo's workspace `Cargo.toml` to build the collateral CLI standalone, which **orphans the repo's root `Cargo.lock`** — every git rev in the Makefile is pinned (lambdaclass#7102), but the tool's crates.io dependencies re-resolved at latest on every build. **Description** Copy the repo's root `Cargo.lock` into the tool's new workspace before building. Cargo prunes the entries for the removed members and keeps the locked versions for everything else, so the build compiles the dependency set the pinned rev was developed against (`alloy-sol-types 1.6.1`). Verified both directions: - without the lock: fresh resolution picks `alloy-sol-types 1.7.1` → the bindings fail to compile with the same E0046 errors as CI - with the carried lock: resolves `1.6.1`, and `cargo check` of the tool (including `automata-dcap-evm-bindings`) passes **Checklist** - [ ] Updated `STORE_SCHEMA_VERSION` (crates/storage/lib.rs) if the PR includes breaking changes to the `Store` requiring a re-sync.
Motivation
Merges the
release/v25.0.0branch back intomainnow that v25.0.0 is published, per the last step of the release process.The second commit matters on its own:
main's release workflow is currently broken, and this is what fixes it. Any tag cut frommainbefore this merges would build every artifact and then fail to publish a release.Description
Two commits, no conflicts with
main:chore(l1,l2): bump version to 25.0.0— the 25 internal version pins across 9Cargo.tomlfiles, the regenerated lockfiles, and both--builder.extra-datadefaults indocs/CLI.md.Includes the four
crates/guest-program/stateless-validator/**/Cargo.lockfiles, which are each their own workspace and reach the ethrex crates through path dependencies, so they pin the workspace version and go stale on a bump.make update-cargo-lockdoes not cover them whilecheck-cargo-lockdoes, so they were refreshed by hand — worth closing that asymmetry in a follow-up, since every future bump hits it.ci(l1,l2): stop the release asset download from matching docker build records—finalize-releasedownloaded artifacts withpattern: "*ethrex*", which also matches the build records the docker jobs upload as<org>~ethrex~<id>.dockerbuild. Those are not zip archives, sodownload-artifactexhausted its retries trying to extract them and the job died before publishing anything.This is a regression from feat(l1): unify guest programs and publish assets ourselves #7115, which widened the pattern to pick up the new
stateless-validator-ethrex-*artifacts; the previous anchored pattern never matched the docker records. v25.0.0-rc.1 hit it — all 13 build jobs green, no release created. The dry-run rehearsal could not have caught it either: that job only waits on the guest builds, so it runs before any docker record exists.Fixed with two anchored patterns,
ethrex*andstateless-validator-ethrex-*, verified against the run's real 17 artifacts to select exactly the 12 release assets. rc.2 published all 22 assets correctly.Validation
v25.0.0 went through the full release checklist: three mainnet canaries paired with Prysm/Teku/Grandine, an eth-docker mainnet node, 13 consecutive successful multisync runs across hoodi/sepolia/mainnet, the SP1 GPU integration suite, and the L2 upgrade test — the last of which ran with a real SP1 GPU prover for the first time (see #7203).
Checklist
STORE_SCHEMA_VERSION(crates/storage/lib.rs) if the PR includes breaking changes to theStorerequiring a re-sync.