[pull] forks/amsterdam from ethereum:forks/amsterdam#155
Merged
pull[bot] merged 4 commits intoLuckQuack:forks/amsterdamfrom Apr 3, 2026
Merged
[pull] forks/amsterdam from ethereum:forks/amsterdam#155pull[bot] merged 4 commits intoLuckQuack:forks/amsterdamfrom
pull[bot] merged 4 commits intoLuckQuack:forks/amsterdamfrom
Conversation
…p; stable becomes mainnet (#2592) * chore(ci): add shared fork-ranges to feature.yaml and update stable/develop Add a top-level fork-ranges list for splitting multi-fork releases across parallel runners. Bump stable to --until=Osaka (latest mainnet fork) and develop to --until=Amsterdam (current fork in development). * chore(ci): split release fixture builds across multiple fork-range runners Split multi-fork fixture releases (stable, develop) across parallel runners using the shared fork-ranges in feature.yaml. Each runner fills its fork range to a directory, then a combine job merges the results into a single release tarball. Features without --until (e.g., benchmark with --fork) continue to build on a single runner with unchanged behavior. Also adds integration tests for the new scripts and a single-fork-range parameter set to the fill output directory tests. * fix(ci): mark benchmark as feature_only in release config Benchmark fixtures have never been included in full releases (verified against v5.3.0 and v5.4.0 release assets). Mark the feature as feature_only so it is only built via feature release tags (tests-benchmark@v*), matching actual release practice. * fix(ci): add setup-uv to setup and combine jobs in release workflows The setup and combine jobs use uv run but were missing the setup-uv step, causing "uv: command not found" on ubuntu-latest runners. * fix(ci): clean up job names in release workflows Use explicit name fields so GitHub Actions shows concise labels like "build (pre-cancun)" instead of dumping all matrix values. * fix(ci): add fill-args override for BPO fork range BPO forks cannot be specified directly via --from/--until because explicit BPO forks collect too many tests, and transition fork classes don't filter correctly. Work around this by using fill-args to specify --from OsakaToBPO1AtTime15k --until Amsterdam -k "not fork_Amsterdam". Add fill_args support to fork-range entries and the build-fixtures action. Also remove BPO3-BPO5 from fork ordering (actual path is Osaka->BPO1->BPO2->Amsterdam). * fix(ci): suppress broken pipe error from find | head in combine step The pipefail shell option causes find's SIGPIPE (from head closing the pipe after 30 lines) to fail the step. Append || true since this is just debug output. * fix(ci): exclude split artifacts from release download The `fixtures_*` pattern matched both final tarballs (`fixtures_stable`) and intermediate split artifacts (`fixtures__cancun`). Use `fixtures_[!_]*` to skip double-underscore names. * test(ci): temporarily restrict fill to chainid tests for flow testing Limit stable and develop to tests/istanbul/eip1344_chainid/ to quickly validate the multi-runner release pipeline end-to-end. Revert before merge. * fix(ci): handle empty fork ranges in fill and combine steps Allow exit code 5 (NO_TESTS_COLLECTED) from fill so fork ranges with no applicable tests don't fail the build. Skip artifact upload when no fixtures are generated. Handle missing artifacts gracefully in the combine step. * fix(ci): download and upload only tarballs in release step The \`gh run download -p "fixtures_[!_]*"\` pattern doesn't work with the \`gh\` CLI's glob implementation. Download all \`fixtures_*\` artifacts then \`rm -rf ./artifacts/fixtures__*/\` to remove split artifacts. Also restrict release upload glob to \`*.tar.gz\` files. * refactor(ci): remove BPO fill-args workaround The transition fork fix in #2607 makes --from=BPO1 --until=BPO2 work correctly. Remove the fill-args/fill-k override plumbing that was needed to work around the transition fork boundary bug. * Revert "test(ci): temporarily restrict fill to chainid tests for flow testing" This reverts commit 1fc9ee8. * refactor(ci): collapse release workflows into single feature-based flow Full releases previously built two tarballs (stable + develop) via a dedicated workflow. Since develop is already covered by the `bal` feature-only release for devnets, the full release reduces to a single mainnet tarball -- making it just another feature release. Changes: - Remove `develop` feature and rename `stable` to `mainnet`. - Unify evm-type: both `mainnet` and `bal` now use `evm-type: eels` directly, replacing the `stable`/`develop` indirection in evm.yaml. - Delete `release_fixture_full.yaml`; mainnet releases now use the feature workflow via `tests-mainnet@v*` tags. - Enable `fail-fast: true` on the build matrix so expensive runners are cancelled when one fork range fails. * test(ci): restrict mainnet testset for testing * refactor(ci): remove combine matrix in favor of direct outputs Each release builds exactly one feature, so the combine step never iterates over multiple features. Replace \`combine_matrix\` with \`feature_name\` and \`combine_labels\` outputs. Also remove the \`--all\` mode and \`get_releasable_features()\` (dead code since the full release workflow was deleted). * fix(ci): only mark non-mainnet fixture releases as pre-releases Mainnet fixture releases are stable and should not be marked as pre-releases. Other features (bal, benchmark) keep \`--prerelease\`. * Revert "test(ci): restrict mainnet testset for testing" This reverts commit 31e0d15. * feat(testing): add IndexFile.merge() for combining split index files When multi-fork releases are split across parallel runners, each runner produces its own .meta/index.json. Add a classmethod that merges multiple IndexFile instances by concatenating test cases, unioning forks and fixture formats, and recomputing the root hash. * feat(ci): add merge_index_files.py for combining split index files Standalone script that loads .meta/index.json from each split fixture directory and merges them via IndexFile.merge(). Called by the combine workflow step to produce a correct combined index. * fix(ci): merge split index files in combine step Run merge_index_files.py after downloading split artifacts so the combined tarball contains a correct .meta/index.json covering all fork ranges, not just the last one copied. * fix(ci): use bash array for split dirs to satisfy shellcheck SC2086 * fix(ci): free disk space before creating release tarball Delete split_artifacts/ after merging index files to avoid running out of disk space on ubuntu-latest during tarball creation. * fix(ci): include hidden files in split artifact upload The \`.meta/\` directory was excluded from upload-artifact because glob patterns skip dotfiles by default. Enable \`include-hidden-files\` so \`.meta/index.json\` is included for the combine step to merge. * Reapply "test(ci): restrict mainnet testset for testing" This reverts commit f450e3e. * Revert "Reapply "test(ci): restrict mainnet testset for testing"" This reverts commit 8c0a3f9. * chore(ci): remove unrequired static args from fill-params Co-authored-by: spencer <spencer.tb@ethereum.org> * chore(ci): move fork range config to its own yaml * refactor(ci): simplify `build_matrix` to handle single feature Remove multi-feature deduplication logic (`effective_key`, `strip_until`, `build_matrices`) that was only needed when the deleted full release workflow passed multiple features. Replace with `build_matrix` that handles a single feature directly. --------- Co-authored-by: spencer <spencer.tb@ethereum.org>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )