Skip to content

chore(ci): use self-hosted runners and harden hive dev mode#1861

Merged
danceratopz merged 3 commits intoethereum:forks/osakafrom
danceratopz:ci/add-hive-dev-action
Dec 8, 2025
Merged

chore(ci): use self-hosted runners and harden hive dev mode#1861
danceratopz merged 3 commits intoethereum:forks/osakafrom
danceratopz:ci/add-hive-dev-action

Conversation

@danceratopz
Copy link
Member

@danceratopz danceratopz commented Dec 8, 2025

🗒️ Description

Problem

The dev-mode job in hive-consume.yaml can fail due to a race condition. The wait loop only polled for 60 seconds (30 iterations × 2s), but Hive takes longer to build Docker images (hiveproxy, client images). The loop silently fell through without failing, causing the next step to start while Hive was still building - resulting in "Error connecting to hive simulator" failures. Example flow:

This behavior is also seen in this screenshot:
image

Solution

Extract the robust waiting logic from build-benchmark-genesis (which already had proper timeout handling) into a reusable action that:

  • Uses deadline-based timeout instead of iteration count.
  • Monitors process health to detect if Hive crashes (kill -0).
  • Fails explicitly on timeout with clear error messages.
  • Outputs hive-url for use in subsequent steps.

🔗 Related Issues or PRs

N/A.

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md. skipped
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

Cute Animal Picture

image

@danceratopz danceratopz added A-test-consume Area: execution_testing.cli.pytest_commands.plugins.consume A-ci Area: Continuous Integration labels Dec 8, 2025
@danceratopz danceratopz force-pushed the ci/add-hive-dev-action branch from 1e21b0f to 47f5b03 Compare December 8, 2025 13:23
@danceratopz danceratopz changed the title chore(ci): add a hive dev mode github action chore(ci): add a robust hive dev mode github action Dec 8, 2025
@danceratopz danceratopz changed the title chore(ci): add a robust hive dev mode github action chore(ci): use self-hosted runners and harden hive dev mode Dec 8, 2025
@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.31%. Comparing base (9523e75) to head (ca7cc47).
⚠️ Report is 9 commits behind head on forks/osaka.

Additional details and impacted files
@@             Coverage Diff              @@
##           forks/osaka    #1861   +/-   ##
============================================
  Coverage        87.31%   87.31%           
============================================
  Files              541      541           
  Lines            32832    32832           
  Branches          3015     3015           
============================================
  Hits             28668    28668           
  Misses            3557     3557           
  Partials           607      607           
Flag Coverage Δ
unittests 87.31% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! CI is passing woo! 🙌

@danceratopz danceratopz merged commit e4afdd9 into ethereum:forks/osaka Dec 8, 2025
15 checks passed
SamWilsn pushed a commit that referenced this pull request Dec 9, 2025
…on (#1861)

Add new --extract-to flag to consume cache command that extracts fixtures
directly to a specified directory, bypassing the normal cache structure.
This replaces the need for separate download scripts like
'download-and-extract-fixtures.sh' by integrating the functionality into
the existing consume tooling.

Usage:
uvx --from git+https://github.com/ethereum/execution-spec-tests \
    consume cache --input=zkevm@v0.1.0 --extract-to=./zkevm-fixtures
SamWilsn pushed a commit that referenced this pull request Dec 9, 2025
…on (#1861)

Add new --extract-to flag to consume cache command that extracts fixtures
directly to a specified directory, bypassing the normal cache structure.
This replaces the need for separate download scripts like
'download-and-extract-fixtures.sh' by integrating the functionality into
the existing consume tooling.

Usage:
uvx --from git+https://github.com/ethereum/execution-spec-tests \
    consume cache --input=zkevm@v0.1.0 --extract-to=./zkevm-fixtures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-ci Area: Continuous Integration A-test-consume Area: execution_testing.cli.pytest_commands.plugins.consume

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants