From 2c5c00822bcb993134ab0dc9ee41886d6e52d75a Mon Sep 17 00:00:00 2001 From: danceratopz Date: Thu, 5 Dec 2024 13:54:07 +0100 Subject: [PATCH] fix(ci): use local eels (#997) * chore(ci): remove checkout submodule init for eest EEST doesn't have any submodules. * chore(ci): use a local eels checkout for framework tests * docs: update changelog --- .github/configs/eels_resolutions.json | 36 +++++++++++++++++++++++++++ .github/workflows/tox_verify.yaml | 14 +++++++++-- docs/CHANGELOG.md | 1 + tox.ini | 4 +++ 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 .github/configs/eels_resolutions.json diff --git a/.github/configs/eels_resolutions.json b/.github/configs/eels_resolutions.json new file mode 100644 index 0000000000..bc7a8c88bb --- /dev/null +++ b/.github/configs/eels_resolutions.json @@ -0,0 +1,36 @@ +{ + "EELSMaster": { + "git_url": "https://github.com/ethereum/execution-specs.git", + "branch": "master" + }, + "Frontier": { + "path": "../../execution-specs/src/ethereum/frontier" + }, + "Homestead": { + "path": "../../execution-specs/src/ethereum/homestead" + }, + "Byzantium": { + "path": "../../execution-specs/src/ethereum/byzantium" + }, + "ConstantinopleFix": { + "path": "../../execution-specs/src/ethereum/constantinople" + }, + "Istanbul": { + "path": "../../execution-specs/src/ethereum/istanbul" + }, + "Berlin": { + "path": "../../execution-specs/src/ethereum/berlin" + }, + "London": { + "path": "../../execution-specs/src/ethereum/london" + }, + "Paris": { + "path": "../../execution-specs/src/ethereum/paris" + }, + "Shanghai": { + "path": "../../execution-specs/src/ethereum/shanghai" + }, + "Cancun": { + "path": "../../execution-specs/src/ethereum/cancun" + } +} diff --git a/.github/workflows/tox_verify.yaml b/.github/workflows/tox_verify.yaml index b534eae85f..f2591d45db 100644 --- a/.github/workflows/tox_verify.yaml +++ b/.github/workflows/tox_verify.yaml @@ -32,9 +32,17 @@ jobs: evm-type: "stable" tox-cmd: "uvx --with=tox-uv tox" # run-parallel --parallel-no-spinner" steps: - - uses: actions/checkout@v4 + - name: Checkout ethereum/execution-spec-tests + uses: actions/checkout@v4 + - name: Checkout ethereum/execution-specs + uses: actions/checkout@v4 with: - submodules: true + repository: ethereum/execution-specs + ref: 9b95554a88d2a8485f8180254d0f6a493a593fda + path: execution-specs + sparse-checkout: | + src/ethereum + fetch-depth: 1 - uses: ./.github/actions/build-evm-base id: evm-builder with: @@ -54,6 +62,8 @@ jobs: # Add additional packages on 3.11: https://github.com/ethereum/execution-spec-tests/issues/274 if [ ${{ matrix.python }} == '3.11' ]; then brew install autoconf automake libtool; fi - name: Run Tox (CPython) + env: + EELS_RESOLUTIONS_FILE: ${{ github.workspace }}/.github/configs/eels_resolutions.json run: ${{ matrix.tox-cmd }} - uses: DavidAnson/markdownlint-cli2-action@v16 with: diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 37b2cd513c..d6266879f5 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -75,6 +75,7 @@ Test fixtures for use by clients are available for each release on the [Github r - 🔀 Move pytest plugin `pytest_plugins.filler.solc` to `pytest_plugins.solc.solc` ([#823](https://github.com/ethereum/execution-spec-tests/pull/823)). - 🐞 Asserts that the deploy docs tags workflow is only triggered for full releases ([#857](https://github.com/ethereum/execution-spec-tests/pull/857)). - ✨ A new application-wide configuration manager provides access to environment and application configurations. ([#892](https://github.com/ethereum/execution-spec-tests/pull/892)). +- 🐞 Use a local version of ethereum/execution-specs (EELS) when running the framework tests in CI ([#997](https://github.com/ethereum/execution-spec-tests/pull/997)). ### 💥 Breaking Change diff --git a/tox.ini b/tox.ini index 2260cb68bb..40656326a2 100644 --- a/tox.ini +++ b/tox.ini @@ -16,6 +16,10 @@ wheel_build_env = .pkg [testenv:framework] description = Run checks on helper libraries and test framework +setenv = + # Only use EELS_RESOLUTIONS_FILE if it is set in the environment (eg, in CI) + EELS_RESOLUTIONS_FILE = {env:EELS_RESOLUTIONS_FILE:} + extras = test lint