Skip to content

Commit 30facbe

Browse files
committed
push execution spec tests playbook
1 parent cfd7a65 commit 30facbe

File tree

3 files changed

+156
-15
lines changed

3 files changed

+156
-15
lines changed

playbooks/dev/execution-spec-tests-dependencies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ tasks:
1010
dpkg --add-architecture amd64
1111
apt-get update
1212
apt-get install -y build-essential python3 python3-pip libc6:amd64
13-
rm /usr/lib/python3*/EXTERNALLY-MANAGED
13+
rm /usr/lib/python3*/EXTERNALLY-MANAGED 2>/dev/null || true

playbooks/dev/execution-spec-tests-execute.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ tasks:
175175
echo "::set-output reportHTML ${REPORT_HTML}"
176176
echo "::set-output-json reportJSON ${REPORT_JSON}"
177177
178+
exit 0
178179
- name: run_task_matrix
179180
title: "Show test results"
180181
configVars:

playbooks/pectra-dev/execution-spec-tests.yaml

Lines changed: 154 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,58 @@ name: "Run execution spec tests"
33
timeout: 1h
44
config:
55
#walletPrivkey: ""
6+
walletSeed: "spectests"
67
tasks:
78
# setup dependencies
89
- name: run_external_tasks
910
title: "Setup dependencies for execution spec tests"
1011
timeout: 30m
1112
config:
1213
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-dependencies.yaml
14+
15+
- name: run_shell
16+
title: "Create temp dir for execution spec tests"
17+
id: tempdir
18+
config:
19+
shell: bash
20+
command: |
21+
set -e
22+
tmp_dir=$(mktemp -d -t execution-spec-tests-XXXXXXXXXX)
23+
24+
echo "============================"
25+
echo "Temp dir created: ${tmp_dir}"
26+
echo "============================"
27+
28+
echo "::set-output path ${tmp_dir}"
1329
30+
- name: run_external_tasks
31+
title: "Clone and prepare execution spec tests"
32+
id: setup
33+
timeout: 10m
34+
config:
35+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
36+
testConfig:
37+
gitRepo: https://github.com/pk910/execution-spec-tests.git
38+
gitBranch: pk910/devnet-execution-fixes
39+
runTests: false
40+
testConfigVars:
41+
specTestsPath: "tasks.tempdir.outputs.path"
42+
1443
- name: check_clients_are_healthy
1544
title: "Check if at least one client is ready"
1645
id: clientCheck
1746
timeout: 5m
1847
config:
1948
minClientCount: 1
49+
50+
- name: generate_child_wallet
51+
id: specTestsWallet
52+
title: "Generate main wallet for tests"
53+
config:
54+
prefundMinBalance: 10000000000000000000000 # ensure a balance of 10000 ETH
55+
configVars:
56+
privateKey: "walletPrivkey"
57+
walletSeed: "walletSeed"
2058

2159
# wait for electra activation
2260
- name: get_consensus_specs
@@ -29,18 +67,120 @@ tasks:
2967
minEpochNumber: "tasks.consensusSpecs.outputs.specs.ELECTRA_FORK_EPOCH"
3068

3169
# run execution spec tests
32-
- name: run_external_tasks
33-
title: "Run execution spec tests: tests/prague"
34-
timeout: 1h
70+
71+
- name: run_tasks_concurrent
72+
title: "Run execution spec tests"
73+
id: tests
3574
config:
36-
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
37-
testConfig:
38-
gitRepo: https://github.com/ethereum/execution-spec-tests.git
39-
gitBranch: main
40-
testPath: ./tests/prague
41-
seedAmount: "100000000000000000000"
42-
extraFlags: "--fork=Prague -n 16"
43-
testConfigVars:
44-
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
45-
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
46-
seedPrivateKey: "walletPrivkey"
75+
failTaskCount: 0
76+
tasks:
77+
- name: run_external_tasks
78+
title: "Run execution spec tests: tests/prague/eip2537_bls_12_381_precompiles"
79+
timeout: 2h
80+
config:
81+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
82+
testConfig:
83+
gitRepo: https://github.com/pk910/execution-spec-tests.git
84+
gitBranch: pk910/devnet-execution-fixes
85+
testPath: ./tests/prague/eip2537_bls_12_381_precompiles
86+
seedAmount: "100000000000000000000" # 100 ETH
87+
extraFlags: "--fork=Prague -n 16"
88+
runSetup: false
89+
cleanupTestsPath: false
90+
testConfigVars:
91+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
92+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
93+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
94+
specTestsPath: "tasks.tempdir.outputs.path"
95+
96+
- name: run_external_tasks
97+
title: "Run execution spec tests: tests/prague/eip7002_el_triggerable_withdrawals"
98+
timeout: 2h
99+
config:
100+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
101+
testConfig:
102+
gitRepo: https://github.com/pk910/execution-spec-tests.git
103+
gitBranch: pk910/devnet-execution-fixes
104+
testPath: ./tests/prague/eip7002_el_triggerable_withdrawals
105+
seedAmount: "100000000000000000000" # 100 ETH
106+
extraFlags: "--fork=Prague -n 16"
107+
runSetup: false
108+
cleanupTestsPath: false
109+
testConfigVars:
110+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
111+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
112+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
113+
specTestsPath: "tasks.tempdir.outputs.path"
114+
115+
- name: run_external_tasks
116+
title: "Run execution spec tests: tests/prague/eip7251_consolidations"
117+
timeout: 2h
118+
config:
119+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
120+
testConfig:
121+
gitRepo: https://github.com/pk910/execution-spec-tests.git
122+
gitBranch: pk910/devnet-execution-fixes
123+
testPath: ./tests/prague/eip7251_consolidations
124+
seedAmount: "100000000000000000000" # 100 ETH
125+
extraFlags: "--fork=Prague -n 16"
126+
runSetup: false
127+
cleanupTestsPath: false
128+
testConfigVars:
129+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
130+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
131+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
132+
specTestsPath: "tasks.tempdir.outputs.path"
133+
134+
- name: run_external_tasks
135+
title: "Run execution spec tests: tests/prague/eip7623_increase_calldata_cost"
136+
timeout: 2h
137+
config:
138+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
139+
testConfig:
140+
gitRepo: https://github.com/pk910/execution-spec-tests.git
141+
gitBranch: pk910/devnet-execution-fixes
142+
testPath: ./tests/prague/eip7623_increase_calldata_cost
143+
seedAmount: "100000000000000000000" # 100 ETH
144+
extraFlags: "--fork=Prague -n 16"
145+
runSetup: false
146+
cleanupTestsPath: false
147+
testConfigVars:
148+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
149+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
150+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
151+
specTestsPath: "tasks.tempdir.outputs.path"
152+
153+
- name: run_external_tasks
154+
title: "Run execution spec tests: tests/prague/eip7702_set_code_tx"
155+
timeout: 2h
156+
config:
157+
testFile: https://raw.githubusercontent.com/ethpandaops/assertoor/master/playbooks/dev/execution-spec-tests-execute.yaml
158+
testConfig:
159+
gitRepo: https://github.com/pk910/execution-spec-tests.git
160+
gitBranch: pk910/devnet-execution-fixes
161+
testPath: ./tests/prague/eip7702_set_code_tx
162+
seedAmount: "100000000000000000000" # 100 ETH
163+
extraFlags: "--fork=Prague -n 16"
164+
runSetup: false
165+
cleanupTestsPath: false
166+
testConfigVars:
167+
rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
168+
chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
169+
seedPrivateKey: "tasks.specTestsWallet.outputs.childWallet.privkey"
170+
specTestsPath: "tasks.tempdir.outputs.path"
171+
172+
cleanupTasks:
173+
- name: run_shell
174+
title: "Cleanup temp dir for execution spec tests"
175+
id: tempdir
176+
config:
177+
shell: bash
178+
envVars:
179+
SPEC_TESTS_PATH: specTestsPath
180+
command: |
181+
set -e
182+
SPEC_TESTS_PATH=$(echo $SPEC_TESTS_PATH | jq -r)
183+
184+
if [ ! -z "$SPEC_TESTS_PATH" ]; then
185+
rm -rf $SPEC_TESTS_PATH
186+
fi

0 commit comments

Comments
 (0)