chore(tests): improve EIP-7843 coverage, checklist, and ref-spec pin #3956
Workflow file for this run
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
| name: Benchmarking | |
| on: | |
| push: | |
| branches: | |
| - mainnet | |
| - "forks/**" | |
| paths: | |
| - "tests/benchmark/**" | |
| - "packages/testing/src/execution_testing/benchmark/**" | |
| - "packages/testing/src/execution_testing/cli/pytest_commands/plugins/**" | |
| - ".github/workflows/benchmark.yaml" | |
| pull_request: | |
| paths-ignore: | |
| - "**.md" | |
| - "LICENSE*" | |
| - ".gitignore" | |
| - ".vscode/**" | |
| - "whitelist.txt" | |
| - "docs/**" | |
| - "mkdocs.yml" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref || github.run_id }} | |
| cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch }} | |
| jobs: | |
| unit-tests: | |
| name: Benchmark Unit Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: true | |
| - uses: ./.github/actions/setup-uv | |
| with: | |
| enable-cache: "false" | |
| - uses: ./.github/actions/build-evm-base | |
| id: evm-builder | |
| with: | |
| type: benchmark | |
| - name: Run benchmark unit tests | |
| run: just test-tests-bench | |
| env: | |
| EVM_BIN: ${{ steps.evm-builder.outputs.evm-bin }} | |
| sanity-checks: | |
| name: ${{ matrix.name }} | |
| needs: [unit-tests] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Benchmark Gas Values | |
| recipe: bench-gas | |
| - name: Fixed Opcode Count CLI | |
| recipe: bench-opcode | |
| - name: Fixed Opcode Count Config | |
| recipe: bench-opcode-config | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: true | |
| - uses: ./.github/actions/setup-uv | |
| with: | |
| enable-cache: "false" | |
| - name: Install PyPy for bench-gas json_loader verify | |
| if: matrix.recipe == 'bench-gas' | |
| shell: bash | |
| run: uv python install pypy3.11 | |
| - uses: ./.github/actions/build-evm-base | |
| id: evm-builder | |
| with: | |
| type: benchmark | |
| - name: Run ${{ matrix.name }} | |
| run: just ${{ matrix.recipe }} | |
| env: | |
| EVM_BIN: ${{ steps.evm-builder.outputs.evm-bin }} | |
| # TODO: Add execute remote tests with --gas-benchmark-values | |
| # TODO: Add execute remote tests with --fixed-opcode-count | |
| build-artifact: | |
| name: Build Benchmark Fixture Artifact | |
| needs: [sanity-checks] # TODO: Add execute remote jobs when implemented | |
| if: github.event_name == 'push' | |
| runs-on: [self-hosted-ghr, size-gigachungus-x64] | |
| timeout-minutes: 720 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: true | |
| - uses: ./.github/actions/build-fixtures | |
| with: | |
| release_name: benchmark_fast |