Skip to content

Commit fd246d8

Browse files
committed
Merge branch 'dev' into pr3230
2 parents 0fd49c1 + 071f0a3 commit fd246d8

File tree

300 files changed

+37708
-3361
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

300 files changed

+37708
-3361
lines changed

.circleci/config.yml

Lines changed: 65 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,31 +36,31 @@ commands:
3636
steps:
3737
- restore_cached_venv:
3838
venv_name: v24-pyspec
39-
reqs_checksum: cache-{{ checksum "setup.py" }}
39+
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}
4040
save_pyspec_cached_venv:
4141
description: Save a venv into a cache with pyspec keys"
4242
steps:
4343
- save_cached_venv:
4444
venv_name: v24-pyspec
45-
reqs_checksum: cache-{{ checksum "setup.py" }}
45+
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}
4646
venv_path: ./venv
4747
restore_deposit_contract_tester_cached_venv:
4848
description: "Restore the venv from cache for the deposit contract tester"
4949
steps:
5050
- restore_cached_venv:
5151
venv_name: v23-deposit-contract-tester
52-
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
52+
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
5353
save_deposit_contract_tester_cached_venv:
5454
description: "Save the venv to cache for later use of the deposit contract tester"
5555
steps:
5656
- save_cached_venv:
5757
venv_name: v23-deposit-contract-tester
58-
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
58+
reqs_checksum: cache-{{ checksum "setup.py" }}-{{ checksum "requirements_preinstallation.txt" }}-{{ checksum "solidity_deposit_contract/web3_tester/requirements.txt" }}
5959
venv_path: ./solidity_deposit_contract/web3_tester/venv
6060
jobs:
6161
checkout_specs:
6262
docker:
63-
- image: circleci/python:3.8
63+
- image: circleci/python:3.9
6464
working_directory: ~/specs-repo
6565
steps:
6666
# Restore git repo at point close to target branch/revision, to speed up checkout
@@ -80,7 +80,7 @@ jobs:
8080
- ~/specs-repo
8181
install_pyspec_test:
8282
docker:
83-
- image: circleci/python:3.8
83+
- image: circleci/python:3.9
8484
working_directory: ~/specs-repo
8585
steps:
8686
- restore_cache:
@@ -92,7 +92,7 @@ jobs:
9292
- save_pyspec_cached_venv
9393
test-phase0:
9494
docker:
95-
- image: circleci/python:3.8
95+
- image: circleci/python:3.9
9696
working_directory: ~/specs-repo
9797
steps:
9898
- restore_cache:
@@ -105,7 +105,7 @@ jobs:
105105
path: tests/core/pyspec/test-reports
106106
test-altair:
107107
docker:
108-
- image: circleci/python:3.8
108+
- image: circleci/python:3.9
109109
working_directory: ~/specs-repo
110110
steps:
111111
- restore_cache:
@@ -118,7 +118,7 @@ jobs:
118118
path: tests/core/pyspec/test-reports
119119
test-bellatrix:
120120
docker:
121-
- image: circleci/python:3.8
121+
- image: circleci/python:3.9
122122
working_directory: ~/specs-repo
123123
steps:
124124
- restore_cache:
@@ -131,7 +131,7 @@ jobs:
131131
path: tests/core/pyspec/test-reports
132132
test-capella:
133133
docker:
134-
- image: circleci/python:3.8
134+
- image: circleci/python:3.9
135135
working_directory: ~/specs-repo
136136
steps:
137137
- restore_cache:
@@ -144,7 +144,7 @@ jobs:
144144
path: tests/core/pyspec/test-reports
145145
test-deneb:
146146
docker:
147-
- image: circleci/python:3.8
147+
- image: circleci/python:3.9
148148
working_directory: ~/specs-repo
149149
steps:
150150
- restore_cache:
@@ -155,6 +155,45 @@ jobs:
155155
command: make citest fork=deneb
156156
- store_test_results:
157157
path: tests/core/pyspec/test-reports
158+
test-electra:
159+
docker:
160+
- image: circleci/python:3.9
161+
working_directory: ~/specs-repo
162+
steps:
163+
- restore_cache:
164+
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
165+
- restore_pyspec_cached_venv
166+
- run:
167+
name: Run py-tests
168+
command: make citest fork=electra
169+
- store_test_results:
170+
path: tests/core/pyspec/test-reports
171+
test-whisk:
172+
docker:
173+
- image: circleci/python:3.9
174+
working_directory: ~/specs-repo
175+
steps:
176+
- restore_cache:
177+
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
178+
- restore_pyspec_cached_venv
179+
- run:
180+
name: Run py-tests
181+
command: make citest fork=whisk
182+
- store_test_results:
183+
path: tests/core/pyspec/test-reports
184+
test-eip7594:
185+
docker:
186+
- image: circleci/python:3.9
187+
working_directory: ~/specs-repo
188+
steps:
189+
- restore_cache:
190+
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
191+
- restore_pyspec_cached_venv
192+
- run:
193+
name: Run py-tests
194+
command: make citest fork=eip7594
195+
- store_test_results:
196+
path: tests/core/pyspec/test-reports
158197
table_of_contents:
159198
docker:
160199
- image: circleci/node:10.16.3
@@ -163,10 +202,10 @@ jobs:
163202
- checkout
164203
- run:
165204
name: Check table of contents
166-
command: sudo npm install -g doctoc@2 && make check_toc
205+
command: sudo npm install -g doctoc@2.2.0 && make check_toc
167206
codespell:
168207
docker:
169-
- image: circleci/python:3.8
208+
- image: circleci/python:3.9
170209
working_directory: ~/specs-repo
171210
steps:
172211
- checkout
@@ -175,7 +214,7 @@ jobs:
175214
command: pip install 'codespell<3.0.0,>=2.0.0' --user && make codespell
176215
lint:
177216
docker:
178-
- image: circleci/python:3.8
217+
- image: circleci/python:3.9
179218
working_directory: ~/specs-repo
180219
steps:
181220
- restore_cache:
@@ -231,7 +270,7 @@ jobs:
231270
- /nix
232271
install_deposit_contract_web3_tester:
233272
docker:
234-
- image: circleci/python:3.8
273+
- image: circleci/python:3.9
235274
working_directory: ~/specs-repo
236275
steps:
237276
- restore_cache:
@@ -243,7 +282,7 @@ jobs:
243282
- save_deposit_contract_tester_cached_venv
244283
test_deposit_contract_web3_tests:
245284
docker:
246-
- image: circleci/python:3.8
285+
- image: circleci/python:3.9
247286
working_directory: ~/specs-repo
248287
steps:
249288
- restore_cache:
@@ -275,12 +314,21 @@ workflows:
275314
- test-deneb:
276315
requires:
277316
- install_pyspec_test
317+
- test-electra:
318+
requires:
319+
- install_pyspec_test
320+
- test-whisk:
321+
requires:
322+
- install_pyspec_test
323+
- test-eip7594:
324+
requires:
325+
- install_pyspec_test
278326
- table_of_contents
279327
- codespell
280328
- lint:
281329
requires:
282330
- install_pyspec_test
283-
# NOTE: Since phase 0 has been launched, we disabled the deposit contract tests.
331+
# NOTE: Since phase 0 has been launched, we disabled the deposit contract tests.
284332
# - install_deposit_contract_web3_tester:
285333
# requires:
286334
# - checkout_specs

.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
**/venv
2+
**/.venv

.github/workflows/docs.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
name: Publish docs
3+
on:
4+
push:
5+
branches:
6+
- master
7+
permissions:
8+
contents: write
9+
jobs:
10+
deploy:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v3
14+
- name: Build docs
15+
run: make copy_docs
16+
- uses: actions/setup-python@v4
17+
with:
18+
python-version: 3.x
19+
- uses: actions/cache@v2
20+
with:
21+
key: ${{ github.ref }}
22+
path: .cache
23+
- run: pip install mkdocs==1.4.2 mkdocs-material==9.1.5 mdx-truly-sane-lists==1.3 mkdocs-awesome-pages-plugin==2.8.0
24+
- run: mkdocs gh-deploy --force

.github/workflows/run-tests.yml

Lines changed: 40 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -6,71 +6,60 @@ defaults:
66

77
env:
88
TEST_PRESET_TYPE: "minimal"
9-
DEFAULT_BRANCH: "dev"
109

11-
# Run tests on workflow_Dispatch
12-
on:
10+
on:
1311
push:
1412
branches:
15-
- dev
13+
- dev
1614
- master
17-
pull_request:
15+
pull_request:
1816
workflow_dispatch:
1917
inputs:
2018
test_preset_type:
2119
default: minimal
2220
description: Type of test to run, either mainnet or minimal
2321
type: string
2422
required: true
25-
commitRef:
26-
description: The branch, tag or SHA to checkout and build from
27-
default: dev
28-
required: true
2923
schedule:
3024
- cron: '0 0 * * *'
3125

3226
jobs:
33-
preclear:
34-
runs-on: self-hosted
35-
if: always()
36-
steps:
37-
- name: 'Cleanup build folder'
38-
run: |
39-
ls -la ./
40-
rm -rf ./* || true
41-
rm -rf ./.??* || true
42-
ls -la ./
43-
4427
table_of_contents:
45-
runs-on: self-hosted
46-
needs: preclear
28+
runs-on: [self-hosted-ghr-custom, size-s-x64, profile-consensusSpecs]
4729
steps:
48-
- name: Checkout this repo
49-
uses: actions/[email protected]
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
- name: Setup Node.js
33+
uses: actions/setup-node@v4
5034
with:
51-
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
35+
node-version: '20'
36+
cache: ''
5237
- name: Check table of contents
53-
run: sudo npm install -g doctoc@2 && make check_toc
38+
run: npm install -g doctoc@2.2.0 && make check_toc
5439

5540
codespell:
56-
runs-on: self-hosted
57-
needs: preclear
41+
runs-on: [self-hosted-ghr-custom, size-s-x64, profile-consensusSpecs]
5842
steps:
59-
- name: Checkout this repo
60-
uses: actions/[email protected]
43+
- name: Checkout repository
44+
uses: actions/checkout@v4
45+
- name: Setup Python
46+
uses: actions/setup-python@v5
6147
with:
62-
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
48+
python-version: '3.10'
49+
cache: ''
6350
- name: Check codespell
64-
run: pip install 'codespell<3.0.0,>=2.0.0' --user && make codespell
51+
run: make codespell
6552

6653
lint:
67-
runs-on: self-hosted
68-
needs: preclear
54+
runs-on: [self-hosted-ghr-custom, size-l-x64, profile-consensusSpecs]
6955
steps:
70-
- name: Checkout this repo
71-
uses: actions/[email protected]
56+
- name: Checkout repository
57+
uses: actions/checkout@v4
58+
- name: Setup Python
59+
uses: actions/setup-python@v5
7260
with:
73-
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
61+
python-version: '3.10'
62+
cache: ''
7463
- name: Install pyspec requirements
7564
run: make install_test
7665
- name: Run linter for pyspec
@@ -79,28 +68,31 @@ jobs:
7968
run: make lint_generators
8069

8170
pyspec-tests:
82-
runs-on: self-hosted
83-
needs: [preclear,lint,codespell,table_of_contents]
71+
runs-on: [self-hosted-ghr-custom, size-xl-x64, profile-consensusSpecs]
72+
needs: [lint,codespell,table_of_contents]
8473
strategy:
8574
matrix:
86-
version: ["phase0", "altair", "bellatrix", "capella", "deneb"]
75+
version: ["phase0", "altair", "bellatrix", "capella", "deneb", "electra", "whisk", "eip7594"]
8776
steps:
88-
- name: Checkout this repo
89-
uses: actions/[email protected]
77+
- name: Checkout repository
78+
uses: actions/checkout@v4
79+
- name: Setup Python
80+
uses: actions/setup-python@v5
9081
with:
91-
ref: ${{ github.event.inputs.commitRef || env.DEFAULT_BRANCH }}
82+
python-version: '3.10'
83+
cache: ''
9284
- name: set TEST_PRESET_TYPE
93-
if: github.event.inputs.test_preset_type != ''
85+
if: github.event.inputs.test_preset_type != ''
9486
run: |
9587
echo "spec_test_preset_type=${{ github.event.inputs.test_preset_type || env.TEST_PRESET_TYPE }}" >> $GITHUB_ENV
9688
- name: set TEST_PRESET_TYPE
9789
if: ${{ (github.event_name == 'push' && github.ref_name != 'master') || github.event_name == 'pull_request' }}
9890
run: |
99-
echo "spec_test_preset_type=${{ env.TEST_PRESET_TYPE}}" >> $GITHUB_ENV
91+
echo "spec_test_preset_type=${{ env.TEST_PRESET_TYPE}}" >> $GITHUB_ENV
10092
- name: set TEST_PRESET_TYPE
10193
if: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
10294
run: |
103-
echo "spec_test_preset_type=mainnet" >> $GITHUB_ENV
95+
echo "spec_test_preset_type=mainnet" >> $GITHUB_ENV
10496
- name: set TEST_PRESET_TYPE
10597
if: github.event.schedule=='0 0 * * *'
10698
run: |
@@ -109,20 +101,8 @@ jobs:
109101
run: make install_test
110102
- name: test-${{ matrix.version }}
111103
run: make citest fork=${{ matrix.version }} TEST_PRESET_TYPE=${{env.spec_test_preset_type}}
112-
- uses: actions/upload-artifact@v3
104+
- uses: actions/upload-artifact@v4
113105
if: always()
114106
with:
115-
name: test-${{ matrix.version }}
107+
name: test-reports-${{ matrix.version }}
116108
path: tests/core/pyspec/test-reports
117-
118-
cleanup:
119-
runs-on: self-hosted
120-
needs: [preclear,pyspec-tests,codespell,lint,table_of_contents]
121-
if: always()
122-
steps:
123-
- name: 'Cleanup build folder'
124-
run: |
125-
ls -la ./
126-
rm -rf ./* || true
127-
rm -rf ./.??* || true
128-
ls -la ./

0 commit comments

Comments
 (0)