From f4e0db844edc638663d38b0b8ea8d4a8f3e877b6 Mon Sep 17 00:00:00 2001 From: danceratopz Date: Thu, 27 Nov 2025 17:03:32 +0100 Subject: [PATCH 1/2] fix(ci): use url instead of release specifier to avoid rate limits --- .github/workflows/hive-consume.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/hive-consume.yaml b/.github/workflows/hive-consume.yaml index c79cc468c8..cd115b9d88 100644 --- a/.github/workflows/hive-consume.yaml +++ b/.github/workflows/hive-consume.yaml @@ -19,6 +19,10 @@ concurrency: group: hive-consume-${{ github.workflow }}-${{ github.ref || github.run_id }} cancel-in-progress: true +env: + # Use direct URL instead of release spec (e.g., develop@v5.3.0) to avoid GitHub API rate limits + FIXTURES_URL: https://github.com/ethereum/execution-spec-tests/releases/download/v5.3.0/fixtures_develop.tar.gz + jobs: test-hive: name: ${{ matrix.name }} @@ -94,7 +98,7 @@ jobs: --sim.parallelism=1 \ --client go-ethereum \ --client-file clients.yaml \ - --sim.buildarg fixtures=develop@v5.3.0 \ + --sim.buildarg fixtures=${{ env.FIXTURES_URL }} \ --sim.limit=".*test_block_at_rlp_limit_with_logs.*Osaka.*" \ --docker.output @@ -120,4 +124,4 @@ jobs: HIVE_SIMULATOR: http://127.0.0.1:3000 run: | uv sync --all-extras - uv run consume ${{ matrix.consume_command }} --input develop@v5.3.0 -k "Osaka and test_block_at_rlp_limit_with_logs" + uv run consume ${{ matrix.consume_command }} --input ${{ env.FIXTURES_URL }} -k "Osaka and test_block_at_rlp_limit_with_logs" From dbbef3e0e39e68046baf97e0fce995a1b775bfae Mon Sep 17 00:00:00 2001 From: danceratopz Date: Thu, 27 Nov 2025 17:12:26 +0100 Subject: [PATCH 2/2] refactor(ci): use pre-defined client file in consume flow --- .github/configs/hive/master.yaml | 9 +++++++++ .github/workflows/hive-consume.yaml | 18 ++---------------- 2 files changed, 11 insertions(+), 16 deletions(-) create mode 100644 .github/configs/hive/master.yaml diff --git a/.github/configs/hive/master.yaml b/.github/configs/hive/master.yaml new file mode 100644 index 0000000000..47a5395c07 --- /dev/null +++ b/.github/configs/hive/master.yaml @@ -0,0 +1,9 @@ +# Hive client configuration file with master/nightly images for CI +# Uses ethpandaops mirror for faster pulls in CI environments + +# Geth (Go-Ethereum) +- client: go-ethereum + nametag: default + build_args: + baseimage: docker.ethquokkaops.io/dh/ethpandaops/geth + tag: master diff --git a/.github/workflows/hive-consume.yaml b/.github/workflows/hive-consume.yaml index cd115b9d88..5075cfd0d9 100644 --- a/.github/workflows/hive-consume.yaml +++ b/.github/workflows/hive-consume.yaml @@ -45,7 +45,6 @@ jobs: consume_command: engine steps: - name: Checkout execution-specs - if: matrix.mode == 'dev' uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: path: execution-specs @@ -72,19 +71,6 @@ jobs: version: ${{ vars.UV_VERSION }} python-version: ${{ vars.DEFAULT_PYTHON_VERSION }} - - name: Pre-pull geth docker image - run: docker pull docker.ethquokkaops.io/dh/ethpandaops/geth:master - - - name: Create clients.yaml - run: | - cat > hive/clients.yaml << 'EOF' - - client: go-ethereum - nametag: default - build_args: - baseimage: docker.ethquokkaops.io/dh/ethpandaops/geth - tag: master - EOF - - name: Build hive run: | cd hive @@ -97,7 +83,7 @@ jobs: ./hive --sim '${{ matrix.simulator }}' \ --sim.parallelism=1 \ --client go-ethereum \ - --client-file clients.yaml \ + --client-file ../execution-specs/.github/configs/hive/master.yaml \ --sim.buildarg fixtures=${{ env.FIXTURES_URL }} \ --sim.limit=".*test_block_at_rlp_limit_with_logs.*Osaka.*" \ --docker.output @@ -106,7 +92,7 @@ jobs: if: matrix.mode == 'dev' run: | cd hive - ./hive --dev --client go-ethereum --client-file clients.yaml --docker.output & + ./hive --dev --client go-ethereum --client-file ../execution-specs/.github/configs/hive/master.yaml --docker.output & echo "Waiting for Hive to be ready..." for i in {1..30}; do if curl -s http://127.0.0.1:3000 > /dev/null 2>&1; then