chore(ci): bump hive consume runner to self hosted#1855
chore(ci): bump hive consume runner to self hosted#1855spencer-tb wants to merge 3 commits intoethereum:forks/osakafrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/osaka #1855 +/- ##
============================================
Coverage 87.31% 87.31%
============================================
Files 541 541
Lines 32832 32832
Branches 3015 3015
============================================
Hits 28668 28668
Misses 3557 3557
Partials 607 607
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
LouisTsai-Csie
left a comment
There was a problem hiding this comment.
LGTM, but what is the main reason for the failing CI?
There was a problem hiding this comment.
LGTM, but what is the main reason for the failing CI?
The CI failed to (even) build hive the client before the timeout in "Start hive in dev mode" and silently failed:
https://github.com/ethereum/execution-specs/actions/runs/19991793699/job/57333576450?pr=1855#step:8:113
We need to:
- Make sure we fail in the build step if the build times out :)
- Increase the timeout.
Taking a look now!
|
It failed because the runners didn't have enough disk space. Well one of the fails: |
danceratopz
left a comment
There was a problem hiding this comment.
I just tried a small hotfix in this workflow: To use .github/configs/hive/latest.yaml instead of .github/configs/hive/master.yaml.
I tried this because I thought the latter built from a github clone of master and this change would speed-up the built and avoid the timeout. This was incorrect (as master.yaml pulls images too, just from a different source, ethquokaops). CI passed anyway, which I don't fully understand... 🙃
https://github.com/ethereum/execution-specs/actions/runs/20025131146/job/57420643962?pr=1855#step:8:113
Anyway, I will work on adding a more robust gh action for starting Hive in dev mode as a separate PR. As we currently have ci code duplicated for this:
.github/workflows/hive-consume.yaml(in this workflow), and,.github/actions/build-benchmark-genesis/action.yaml(which is more robust).
|
It just wanted some attention! Attention was given by all and the CI feels loved again so it pass 😅 |
I didn't spot this in the last failing log though? Perhaps I need to hone my search skills. |
The only way that the linked run above passed is that "Start hive in dev mode" finished building the required hive images client image and starting hive by the time that "Run consume in dev mode" had finished installing. I.e., we got lucky :)
So this seems worthwhile. |
…ster" This reverts commit 0b6df59.
|
@spencer-tb I reverted the client config change (as it was unrelated to this pr and did not provide a proper fix anyway) and instead hardened the consume hive flow here: #1861 (whose CI is now failing due to no space left on device 😭). |
|
LMAO! Shall we merge this then rebase your PR? |
|
CIFO: #1861 |
…ckhainEngineXFixture` with other formats (#1855) * feat(fill): add --generate-all-formats flag for comprehensive fixture generation Add new --generate-all-formats command line option that enables generation of all fixture formats including BlockchainEngineXFixture in a single command execution. Key changes: - Add --generate-all-formats CLI option with two-phase execution support. - Phase 1: Generate pre-allocation groups (same as --generate-pre-alloc-groups). - Phase 2: Generate ALL supported fixture formats (vs only BlockchainEngineXFixture). - Update FixtureOutput class to handle new generate_all_formats parameter. - Preserve --generate-all-formats flag in phase 2 execution for proper format selection. - Maintain backward compatibility with existing --generate-pre-alloc-groups workflow. This makes BlockchainEngineXFixture a first-class citizen alongside other fixture formats, enabling comprehensive test coverage generation in a single command while leveraging the performance optimizations of pre-allocation groups. * docs(fill): update docs for `--generate-all-formats` * tests(fill): add unit tests for `--generate-all-formats` * feat(fill): auto-enable `--generate-all-formats` if tarball output * test(fill): add tests for enabling `--generate-all-formats` for tar.gz * docs(fill): update docs for auto-enable of `--generate-all-formats` if .tar.gz * docs: update changelog * refactor(fill): extract helper methods in FillCommand - Extract _should_use_two_phase_execution() method to simplify complex conditional logic. - Extract _ensure_generate_all_formats_for_tarball() method for cleaner argument processing. - Update create_executions() to use the new helper methods. * refactor(fill): improve FixtureOutput auto-enable logic - Add should_auto_enable_all_formats property to clarify auto-enable logic. - Improve variable naming: should_generate_all_formats instead of generate_all_formats. - Fix duplication: use existing is_tarball property logic instead of creating duplicate method. - Update tests to use new field name. * refactor(fill): simplify fixture format selection logic with proper phase enum - Add ExecutionPhase enum with 4 distinct phases: NORMAL, PHASE_1_PREALLOC, PHASE_2_ENGINE_X_ONLY, PHASE_2_ALL_FORMATS. - Extract _determine_execution_phase() method to encapsulate phase logic. - Extract _is_blockchain_engine_x_fixture() helper for format checking. - Extract _determine_fixture_formats() method to handle all 4 execution phases. - Simplify pytest_generate_tests() from 40+ lines of nested conditionals to 2 clean lines.
…ckhainEngineXFixture` with other formats (#1855) * feat(fill): add --generate-all-formats flag for comprehensive fixture generation Add new --generate-all-formats command line option that enables generation of all fixture formats including BlockchainEngineXFixture in a single command execution. Key changes: - Add --generate-all-formats CLI option with two-phase execution support. - Phase 1: Generate pre-allocation groups (same as --generate-pre-alloc-groups). - Phase 2: Generate ALL supported fixture formats (vs only BlockchainEngineXFixture). - Update FixtureOutput class to handle new generate_all_formats parameter. - Preserve --generate-all-formats flag in phase 2 execution for proper format selection. - Maintain backward compatibility with existing --generate-pre-alloc-groups workflow. This makes BlockchainEngineXFixture a first-class citizen alongside other fixture formats, enabling comprehensive test coverage generation in a single command while leveraging the performance optimizations of pre-allocation groups. * docs(fill): update docs for `--generate-all-formats` * tests(fill): add unit tests for `--generate-all-formats` * feat(fill): auto-enable `--generate-all-formats` if tarball output * test(fill): add tests for enabling `--generate-all-formats` for tar.gz * docs(fill): update docs for auto-enable of `--generate-all-formats` if .tar.gz * docs: update changelog * refactor(fill): extract helper methods in FillCommand - Extract _should_use_two_phase_execution() method to simplify complex conditional logic. - Extract _ensure_generate_all_formats_for_tarball() method for cleaner argument processing. - Update create_executions() to use the new helper methods. * refactor(fill): improve FixtureOutput auto-enable logic - Add should_auto_enable_all_formats property to clarify auto-enable logic. - Improve variable naming: should_generate_all_formats instead of generate_all_formats. - Fix duplication: use existing is_tarball property logic instead of creating duplicate method. - Update tests to use new field name. * refactor(fill): simplify fixture format selection logic with proper phase enum - Add ExecutionPhase enum with 4 distinct phases: NORMAL, PHASE_1_PREALLOC, PHASE_2_ENGINE_X_ONLY, PHASE_2_ALL_FORMATS. - Extract _determine_execution_phase() method to encapsulate phase logic. - Extract _is_blockchain_engine_x_fixture() helper for format checking. - Extract _determine_fixture_formats() method to handle all 4 execution phases. - Simplify pytest_generate_tests() from 40+ lines of nested conditionals to 2 clean lines.

🗒️ Description
Should fix the existing hive consume CI failures.
🔗 Related Issues or PRs
N/A.
✅ Checklist
toxchecks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx tox -e statictype(scope):.