-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
new(fw,tests,github): Add automatic feature-based fixture building in…
… CI, add EOF feature (eip7692), fix outstanding EOF test failures (#573) * github: Add build evmone action * tox,github: Add eof workflow * fix(github): evmone actions * fix(tox): explicitly use evmone binary for `tests-eof` * fix(fw): EOF: exceptions * fix(tests): Fix container validation tests, remove duplicates, add more tests * changelog * github: fix fixtures.yaml * fix(fw): Workaround to evmone not supporting all Prague EIPs * github: disable eof tox * feat(forks): Add `CancunEIP7692` * fix(fw): Remove EOF workaround * fix(plugins): Get correct last descendant fork * fix(tests): Point all EOF tests to `CancunEIP7692` * fix(tox): Point eof_fork to `CancunEIP7692` * github: Add fixtures_feature workflow, create features configuration file * fix(tox): rename vars * refactor(github): standardize fixture building * changelog * fix(github): fixtures_feature.yaml ref name * fix(github): extract feature parameters in the build-fixtures action * fix(github): move configs to dedicated folder * fix(github): fixtures tag * fix(plugins/forks): fix forks when there are multiple dev forks * fix(docs): test case ref generation to try multiple dev forks * fix(tests): EOF - EIP7692: Use correct fork
- Loading branch information
Showing
41 changed files
with
519 additions
and
288 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name: 'Build evmone EVM' | ||
description: 'Builds the evmone EVM binary' | ||
inputs: | ||
repo: | ||
description: 'Source repository to use to build the EVM binary' | ||
required: true | ||
default: 'ethereum/evmone' | ||
ref: | ||
description: 'Reference to branch, commit, or tag to use to build the EVM binary' | ||
required: true | ||
default: 'master' | ||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Checkout evmone | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: ${{ inputs.repo }} | ||
ref: ${{ inputs.ref }} | ||
path: evmone | ||
submodules: true | ||
- name: Setup cmake | ||
uses: jwlawson/actions-setup-cmake@v2 | ||
- name: Build evmone binary | ||
shell: bash | ||
run: | | ||
mkdir -p $GITHUB_WORKSPACE/bin | ||
cd $GITHUB_WORKSPACE/evmone | ||
cmake -S . -B build -DEVMONE_TESTING=ON | ||
cmake --build build --parallel | ||
echo $GITHUB_WORKSPACE/evmone/build/bin/ >> $GITHUB_PATH |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: Build and Package Fixtures | ||
inputs: | ||
name: | ||
description: 'Name of the fixture package' | ||
required: true | ||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: 3.11 | ||
- name: Install yq | ||
shell: bash | ||
run: | | ||
pip install yq | ||
- name: Extract fixture properties | ||
id: properties | ||
shell: bash | ||
run: | | ||
yq -r --arg feature "${{ inputs.name }}" '.[$feature] | to_entries | map("\(.key)=\(.value)")[]' ./configs/feature.yaml >> "$GITHUB_OUTPUT" | ||
- uses: ./.github/actions/build-evm | ||
id: evm-builder | ||
with: | ||
type: ${{ steps.properties.outputs.evm-type }} | ||
- name: Install solc compiler | ||
shell: bash | ||
run: | | ||
if [ "$RUNNER_OS" == "Linux" ]; then PLATFORM="linux-amd64"; else PLATFORM="macosx-amd64"; fi | ||
RELEASE_NAME=$(curl https://binaries.soliditylang.org/${PLATFORM}/list.json | jq -r --arg SOLC_VERSION "${{ steps.properties.outputs.solc }}" '.releases[$SOLC_VERSION]') | ||
wget -O $GITHUB_WORKSPACE/bin/solc https://binaries.soliditylang.org/${PLATFORM}/$RELEASE_NAME | ||
chmod a+x $GITHUB_WORKSPACE/bin/solc | ||
echo $GITHUB_WORKSPACE/bin >> $GITHUB_PATH | ||
- name: Run fixtures fill | ||
shell: bash | ||
run: | | ||
pip install --upgrade pip | ||
python -m venv env | ||
source env/bin/activate | ||
pip install -e . | ||
fill -n auto --evm-bin=${{ steps.evm-builder.outputs.evm-bin }} ${{ steps.properties.outputs.fill-params }} | ||
- name: Create fixtures info file | ||
shell: bash | ||
run: | | ||
echo -e "ref: $GITHUB_REF \ncommit: $GITHUB_SHA\nbuild: $(date +"%Y-%m-%dT%H:%M:%SZ")" \ | ||
> fixtures/info.txt | ||
- name: Tar fixtures output | ||
shell: bash | ||
run: | | ||
tar -czvf fixtures_${{ inputs.name }}.tar.gz ./fixtures | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: fixtures_${{ inputs.name }} | ||
path: fixtures_${{ inputs.name }}.tar.gz |
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
name: Build and Package Fixtures for a feature | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- '*@v*' | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
- name: Get feature name | ||
id: feature-name | ||
shell: bash | ||
run: | | ||
echo name=${GITHUB_REF_NAME//@*/} >> "$GITHUB_OUTPUT" | ||
- uses: ./.github/actions/build-fixtures | ||
with: | ||
name: ${{ steps.feature-name.outputs.name }} | ||
release: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
if: startsWith(github.ref, 'refs/tags/') | ||
steps: | ||
- name: Download artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
path: . | ||
- name: Draft Pre-release | ||
uses: softprops/action-gh-release@v2 | ||
with: | ||
files: './**' | ||
draft: true | ||
prerelease: true | ||
generate_release_notes: true | ||
fail_on_unmatched_files: true |
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
stable: | ||
impl: geth | ||
repo: ethereum/go-ethereum | ||
ref: master | ||
evm-bin: evm | ||
develop: | ||
impl: geth | ||
repo: lightclient/go-ethereum | ||
ref: prague-devnet-0 | ||
evm-bin: evm | ||
eip7692: | ||
impl: evmone | ||
repo: ethereum/evmone | ||
ref: master | ||
evm-bin: evmone-t8n |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
stable: | ||
evm-type: stable | ||
fill-params: '' | ||
solc: 0.8.21 | ||
develop: | ||
evm-type: develop | ||
fill-params: --until=Prague | ||
solc: 0.8.21 | ||
eip7692: | ||
evm-type: eip7692 | ||
fill-params: --fork=CancunEIP7692 ./tests/prague | ||
solc: 0.8.21 |
This file contains 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
This file contains 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
Oops, something went wrong.