Skip to content

Commit 553334e

Browse files
authored
Even more CI Leanifications (#4115)
* Run client tests on demand or nightly * Move wallet to nightly! * Move devp2p to on demand or nightly * Move verkle to on demand or nightly * Allow skipping browser tests * Allow reduced VM state tests * Same with blockchain tests
1 parent fb8ed02 commit 553334e

File tree

8 files changed

+85
-11
lines changed

8 files changed

+85
-11
lines changed

.github/workflows/browser.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ concurrency:
2626

2727
jobs:
2828
test-all-browser:
29+
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'test no browser') == false
2930
runs-on: ubuntu-latest
3031
strategy:
3132
fail-fast: false

.github/workflows/client-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ concurrency:
2929

3030
jobs:
3131
test-client:
32+
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'test client')
3233
runs-on: ubuntu-latest
3334
steps:
3435
# We clone the repo and submodules if triggered from work-flow dispatch

.github/workflows/devp2p-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ concurrency:
2323

2424
jobs:
2525
test-devp2p:
26+
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'test devp2p')
2627
runs-on: ubuntu-latest
2728

2829
steps:

.github/workflows/other-nightly.yml

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Ethash Nightly
1+
name: Ethash/Client Nightly
22
on:
33
schedule:
44
- cron: 0 1 * * *
@@ -22,4 +22,68 @@ jobs:
2222
working-directory: ${{github.workspace}}
2323

2424
- run: npm run test
25-
working-directory: ${{ github.workspace }}/packages/ethash
25+
working-directory: ${{ github.workspace }}/packages/ethash
26+
27+
test-client:
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v5
31+
32+
- uses: actions/setup-node@v4
33+
with:
34+
node-version: 20
35+
cache: 'npm'
36+
37+
- run: npm ci
38+
working-directory: ${{github.workspace}}
39+
40+
- run: npm run test
41+
working-directory: ${{ github.workspace }}/packages/client
42+
43+
test-devp2p:
44+
runs-on: ubuntu-latest
45+
steps:
46+
- uses: actions/checkout@v5
47+
48+
- uses: actions/setup-node@v4
49+
with:
50+
node-version: 20
51+
cache: 'npm'
52+
53+
- run: npm ci
54+
working-directory: ${{github.workspace}}
55+
56+
- run: npm run test
57+
working-directory: ${{ github.workspace }}/packages/devp2p
58+
59+
test-wallet:
60+
runs-on: ubuntu-latest
61+
steps:
62+
- uses: actions/checkout@v5
63+
64+
- uses: actions/setup-node@v4
65+
with:
66+
node-version: 20
67+
cache: 'npm'
68+
69+
- run: npm ci
70+
working-directory: ${{github.workspace}}
71+
72+
- run: npm run test
73+
working-directory: ${{ github.workspace }}/packages/wallet
74+
75+
test-verkle:
76+
runs-on: ubuntu-latest
77+
steps:
78+
- uses: actions/checkout@v5
79+
80+
- uses: actions/setup-node@v4
81+
with:
82+
node-version: 20
83+
cache: 'npm'
84+
85+
- run: npm ci
86+
working-directory: ${{github.workspace}}
87+
88+
- run: npm run test
89+
working-directory: ${{ github.workspace }}/packages/verkle

.github/workflows/rlp-ethash-genesis-wallet-build.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,7 @@ jobs:
5656
- run: npm run coverage
5757
working-directory: ${{ github.workspace }}/packages/genesis
5858

59-
# Run coverage for wallet
60-
- run: npm run coverage
61-
working-directory: ${{ github.workspace }}/packages/wallet
62-
# Upload code coverage for all jobs
59+
# Upload code coverage for all jobs
6360
- uses: codecov/codecov-action@v4
6461
with:
6562
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/verkle-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ concurrency:
2727

2828
jobs:
2929
test-verkle:
30+
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'test verkle')
3031
runs-on: ubuntu-latest
3132

3233
steps:

.github/workflows/vm-pr.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,15 @@ jobs:
114114
path: ${{github.workspace}}/packages/ethereum-tests
115115
key: ${{ inputs.submodule-cache-key}}
116116
fail-on-cache-miss: true
117-
118-
- run: npm run test:state -- --fork=${{ matrix.fork }} --verify-test-amount-alltests
117+
118+
- if: contains(join(github.event.pull_request.labels.*.name, ' '), 'skip most VM') == false
119+
run: npm run test:state -- --fork=${{ matrix.fork }} --verify-test-amount-alltests
120+
121+
- if: contains(join(github.event.pull_request.labels.*.name, ' '), 'skip most VM')
122+
run: npm run test:buildIntegrity
119123

120124
vm-state-extended:
121-
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'Test all hardforks')
125+
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'test all hardforks')
122126
runs-on: ubuntu-latest
123127
strategy:
124128
matrix:
@@ -227,10 +231,14 @@ jobs:
227231
key: ${{ inputs.submodule-cache-key}}
228232
fail-on-cache-miss: true
229233

230-
- run: npm run test:blockchain -- ${{ matrix.args }}
234+
- if: contains(join(github.event.pull_request.labels.*.name, ' '), 'skip most VM') == false
235+
run: npm run test:blockchain -- ${{ matrix.args }}
236+
237+
- if: contains(join(github.event.pull_request.labels.*.name, ' '), 'skip most VM')
238+
run: npm run test:blockchain:buildIntegrity
231239

232240
vm-blockchain-extended:
233-
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'Test all hardforks')
241+
if: contains(join(github.event.pull_request.labels.*.name, ' '), 'test all hardforks')
234242
runs-on: ubuntu-latest
235243
strategy:
236244
matrix:

packages/vm/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"test:blockchain": "npm run tester -- --blockchain",
5151
"test:blockchain:allForks": "echo 'Chainstart Homestead dao TangerineWhistle SpuriousDragon Byzantium Constantinople Petersburg Istanbul MuirGlacier Berlin London Paris Shanghai ByzantiumToConstantinopleFixAt5 EIP158ToByzantiumAt5 FrontierToHomesteadAt5 HomesteadToDaoAt5 HomesteadToEIP150At5 BerlinToLondonAt5' | xargs -n1 | xargs -I v1 npm run tester -- --blockchain --fork=v1 --verify-test-amount-alltests",
5252
"test:blockchain:transitionForks": "echo 'ByzantiumToConstantinopleFixAt5 EIP158ToByzantiumAt5 FrontierToHomesteadAt5 HomesteadToDaoAt5 HomesteadToEIP150At5 BerlinToLondonAt5' | xargs -n1 | xargs -I v1 npm run tester -- --blockchain --fork=v1 --verify-test-amount-alltests",
53+
"test:blockchain:buildIntegrity": "npm run test:blockchain -- --file='randomStatetest303'",
5354
"test:buildIntegrity": "npm run test:state -- --test='stackOverflow'",
5455
"test:state": "npm run tester -- --state",
5556
"test:state:allForks": "echo 'Chainstart Homestead dao TangerineWhistle SpuriousDragon Byzantium Constantinople Petersburg Istanbul MuirGlacier Berlin London Paris Shanghai ByzantiumToConstantinopleFixAt5 EIP158ToByzantiumAt5 FrontierToHomesteadAt5 HomesteadToDaoAt5 HomesteadToEIP150At5 BerlinToLondonAt5 Cancun' | xargs -n1 | xargs -I v1 npm run test:state -- --fork=v1 --verify-test-amount-alltests",

0 commit comments

Comments
 (0)