Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/dev' into epbs_fix_tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jtraglia committed Feb 10, 2025
2 parents 9df37db + 6803ea3 commit ecbb5c5
Show file tree
Hide file tree
Showing 295 changed files with 11,603 additions and 4,756 deletions.
178 changes: 33 additions & 145 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,32 +35,19 @@ commands:
description: "Restore the cache with pyspec keys"
steps:
- restore_cached_venv:
venv_name: v25-pyspec
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}
venv_name: v33-pyspec
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "pyproject.toml" }}-{{ python3 --version }}
save_pyspec_cached_venv:
description: Save a venv into a cache with pyspec keys"
steps:
- save_cached_venv:
venv_name: v25-pyspec
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}
venv_name: v33-pyspec
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "pyproject.toml" }}-{{ python3 --version }}
venv_path: ./venv
restore_deposit_contract_tester_cached_venv:
description: "Restore the venv from cache for the deposit contract tester"
steps:
- restore_cached_venv:
venv_name: v23-deposit-contract-tester
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
save_deposit_contract_tester_cached_venv:
description: "Save the venv to cache for later use of the deposit contract tester"
steps:
- save_cached_venv:
venv_name: v23-deposit-contract-tester
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
venv_path: ./solidity_deposit_contract/web3_tester/venv
jobs:
checkout_specs:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
# Restore git repo at point close to target branch/revision, to speed up checkout
Expand All @@ -80,230 +67,147 @@ jobs:
- ~/specs-repo
install_pyspec_test:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Install pyspec requirements
command: make install_test
command: make pyspec
- save_pyspec_cached_venv
test-phase0:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=phase0
command: make test fork=phase0
- store_test_results:
path: tests/core/pyspec/test-reports
test-altair:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=altair
command: make test fork=altair
- store_test_results:
path: tests/core/pyspec/test-reports
test-bellatrix:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=bellatrix
command: make test fork=bellatrix
- store_test_results:
path: tests/core/pyspec/test-reports
test-capella:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=capella
command: make test fork=capella
- store_test_results:
path: tests/core/pyspec/test-reports
test-deneb:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=deneb
command: make test fork=deneb
- store_test_results:
path: tests/core/pyspec/test-reports
test-electra:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=electra
command: make test fork=electra
- store_test_results:
path: tests/core/pyspec/test-reports
test-whisk:
test-fulu:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=whisk
command: make test fork=fulu
- store_test_results:
path: tests/core/pyspec/test-reports
test-eip7594:
test-whisk:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=eip7594
command: make test fork=whisk
- store_test_results:
path: tests/core/pyspec/test-reports
test-eip7732:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=eip7732
command: make test fork=eip7732
- store_test_results:
path: tests/core/pyspec/test-reports
table_of_contents:
docker:
- image: circleci/node:10.16.3
working_directory: ~/specs-repo
steps:
- checkout
- run:
name: Check table of contents
command: sudo npm install -g [email protected] && make check_toc
codespell:
docker:
- image: cimg/python:3.12.4
working_directory: ~/specs-repo
steps:
- checkout
- run:
name: Check codespell
command: pip install 'codespell<3.0.0,>=2.0.0' --user && make codespell
lint:
docker:
- image: cimg/python:3.12.4
- image: cimg/python:3.12-node
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Install doctoc
command: sudo npm install -g [email protected]
- run:
name: Run linter for pyspec
command: make lint
- run:
name: Run linter for test generators
command: make lint_generators
build_deposit_contract:
docker:
- image: ethereum/solc:0.6.11-alpine
steps:
- checkout
- run:
name: Install build essentials
command: |
apk update
apk add git make
- run:
name: Compile the contract
command: |
make compile_deposit_contract
git diff --color --exit-code
- persist_to_workspace:
root: .
paths:
- ./solidity_deposit_contract/deposit_contract.json
- ./build/combined.json
- ./solidity_deposit_contract/lib
test_deposit_contract:
docker:
- image: nixorg/nix:circleci
steps:
- checkout
- restore_cache:
key: nix-store-test-v2
- attach_workspace:
at: /tmp/
- run:
name: Test the contract
command: |
mkdir build
cp -r /tmp/build/* build
cp -r /tmp/solidity_deposit_contract/lib/* ./solidity_deposit_contract/lib
cp -r /tmp/solidity_deposit_contract/deposit_contract.json ./solidity_deposit_contract/deposit_contract.json
nix-shell --command 'make test_deposit_contract' ./solidity_deposit_contract/shell.nix
- save_cache:
key: nix-store-test-v2
paths:
- /nix
install_deposit_contract_web3_tester:
docker:
- image: cimg/python:3.12.4
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_deposit_contract_tester_cached_venv
- run:
name: Install deposit contract tester requirements
command: make install_deposit_contract_web3_tester
- save_deposit_contract_tester_cached_venv
test_deposit_contract_web3_tests:
docker:
- image: cimg/python:3.12.4
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_deposit_contract_tester_cached_venv
- run:
name: Run deposit contract test with web3.py
command: make test_deposit_contract_web3_tests
workflows:
version: 2.1
test_spec:
Expand All @@ -330,31 +234,15 @@ workflows:
- test-electra:
requires:
- install_pyspec_test
- test-whisk:
- test-fulu:
requires:
- install_pyspec_test
- test-eip7594:
- test-whisk:
requires:
- install_pyspec_test
- test-eip7732:
requires:
- install_pyspec_test
- table_of_contents
- codespell
- lint:
requires:
- install_pyspec_test
# NOTE: Since phase 0 has been launched, we disabled the deposit contract tests.
# - install_deposit_contract_web3_tester:
# requires:
# - checkout_specs
# - test_deposit_contract_web3_tests:
# requires:
# - install_deposit_contract_web3_tester
build_and_test_deposit_contract:
jobs:
- build_deposit_contract
# NOTE: Since phase 0 has been launched, we disabled the deposit contract tests.
# - test_deposit_contract:
# requires:
# - build_deposit_contract
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Publish docs
on:
push:
branches:
- master
- master
permissions:
contents: write
jobs:
Expand All @@ -12,7 +12,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Build docs
run: make copy_docs
run: make _copy_docs
- uses: actions/setup-python@v4
with:
python-version: 3.x
Expand Down
Loading

0 comments on commit ecbb5c5

Please sign in to comment.