Skip to content

Commit a0c96bb

Browse files
authored
Merge pull request #1566 from waku-org/chore/split-ci-into-chunks
2 parents 7905aa4 + 4d54027 commit a0c96bb

File tree

2 files changed

+73
-140
lines changed

2 files changed

+73
-140
lines changed

.github/workflows/ci.yml

+19-140
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,13 @@ on:
1313
description: "Docker hub image name taken from https://hub.docker.com/r/statusteam/nim-waku/tags. Format: statusteam/nim-waku:v0.19.0"
1414
required: false
1515
type: string
16-
workflow_call:
17-
inputs:
18-
nim_wakunode_image:
19-
required: false
20-
type: string
21-
caller:
22-
required: false
23-
type: string
2416

2517
env:
2618
NODE_JS: "18"
2719

2820
jobs:
2921
check:
3022
runs-on: ubuntu-latest
31-
if: ${{ inputs.caller == null || inputs.caller != 'nwaku' }}
3223
steps:
3324
- uses: actions/checkout@v3
3425
with:
@@ -44,7 +35,6 @@ jobs:
4435

4536
proto:
4637
runs-on: ubuntu-latest
47-
if: ${{ inputs.caller == null || inputs.caller != 'nwaku' }}
4838
steps:
4939
- uses: actions/checkout@v3
5040
with:
@@ -66,7 +56,6 @@ jobs:
6656
6757
browser:
6858
runs-on: ubuntu-latest
69-
if: ${{ inputs.caller == null || inputs.caller != 'nwaku' }}
7059
steps:
7160
- uses: actions/checkout@v3
7261
with:
@@ -79,145 +68,35 @@ jobs:
7968
- run: npm run test:browser
8069

8170
node:
82-
runs-on: ubuntu-latest
83-
env:
84-
WAKUNODE_IMAGE: ${{ inputs.nim_wakunode_image || 'statusteam/nim-waku:v0.19.0' }}
85-
steps:
86-
- uses: actions/checkout@v3
87-
with:
88-
repository: waku-org/js-waku
89-
90-
- uses: actions/setup-node@v3
91-
with:
92-
node-version: ${{ env.NODE_JS }}
93-
94-
- uses: ./.github/actions/npm
95-
96-
- run: npm run build:esm
97-
98-
- run: npm run test:node
99-
env:
100-
DEBUG: ""
101-
102-
- name: Upload debug logs on failure
103-
uses: actions/upload-artifact@v3
104-
if: failure()
105-
with:
106-
name: debug.log
107-
path: debug.log
108-
109-
- name: Upload nwaku logs on failure
110-
uses: actions/upload-artifact@v3
111-
if: failure()
112-
with:
113-
name: nwaku-logs
114-
path: packages/tests/log/
71+
uses: ./.github/workflows/test-node.yml
72+
with:
73+
nim_wakunode_image: ${{ inputs.nim_wakunode_image || 'statusteam/nim-waku:v0.19.0' }}
74+
test_type: node
11575

11676
node_optional:
117-
runs-on: ubuntu-latest
118-
env:
119-
WAKUNODE_IMAGE: ${{ inputs.nim_wakunode_image || 'statusteam/nim-waku:v0.19.0' }}
120-
121-
steps:
122-
- uses: actions/checkout@v3
123-
with:
124-
repository: waku-org/js-waku
125-
126-
- uses: actions/setup-node@v3
127-
with:
128-
node-version: ${{ env.NODE_JS }}
129-
130-
- uses: ./.github/actions/npm
131-
132-
- run: npm run build:esm
133-
134-
- run: npm run test:optional --workspace=@waku/tests
135-
env:
136-
DEBUG: ""
77+
uses: ./.github/workflows/test-node.yml
78+
with:
79+
nim_wakunode_image: ${{ inputs.nim_wakunode_image || 'statusteam/nim-waku:v0.19.0' }}
80+
test_type: node-optional
13781

13882
node_with_go_waku_master:
139-
runs-on: ubuntu-latest
140-
if: ${{ inputs.caller == null || inputs.caller != 'nwaku' }}
141-
env:
142-
WAKUNODE_IMAGE: "statusteam/go-waku:latest"
143-
WAKU_SERVICE_NODE_PARAMS: "--min-relay-peers-to-publish=0" # Can be removed once https://github.com/status-im/nwaku/issues/1004 is done
144-
DEBUG: "waku*"
145-
steps:
146-
- uses: actions/checkout@v3
147-
with:
148-
repository: waku-org/js-waku
149-
150-
- name: Install NodeJS
151-
uses: actions/setup-node@v3
152-
with:
153-
node-version: ${{ env.NODE_JS }}
154-
155-
- uses: ./.github/actions/npm
156-
157-
- run: npm run build:esm
158-
159-
- run: npm run test:node
160-
env:
161-
DEBUG: "waku:nwaku*,waku:test*"
162-
163-
- name: Upload debug logs on failure
164-
uses: actions/upload-artifact@v3
165-
if: failure()
166-
with:
167-
name: go-waku-debug.log
168-
path: debug.log
169-
170-
- name: Upload logs on failure
171-
uses: actions/upload-artifact@v3
172-
if: failure()
173-
with:
174-
name: go-waku-logs
175-
path: packages/tests/log/
83+
uses: ./.github/workflows/test-node.yml
84+
with:
85+
nim_wakunode_image: statusteam/go-waku:latest
86+
test_type: go-waku-master
87+
debug: waku*
17688

17789
node_with_nwaku_master:
178-
runs-on: ubuntu-latest
179-
if: ${{ inputs.caller == null || inputs.caller != 'nwaku' }}
180-
env:
181-
DEBUG: "waku*"
182-
WAKUNODE_IMAGE: "statusteam/nim-waku:deploy-wakuv2-test"
183-
steps:
184-
- uses: actions/checkout@v3
185-
with:
186-
repository: waku-org/js-waku
187-
188-
- uses: actions/setup-node@v3
189-
with:
190-
node-version: ${{ env.NODE_JS }}
191-
192-
- uses: ./.github/actions/npm
193-
194-
- run: npm run build:esm
195-
196-
- run: npm run test:node
197-
env:
198-
DEBUG: "waku:nwaku*,waku:test*"
199-
200-
- name: Upload debug logs on failure
201-
uses: actions/upload-artifact@v3
202-
if: failure()
203-
with:
204-
name: nwaku-master-debug.log
205-
path: debug.log
206-
207-
- name: Upload logs on failure
208-
uses: actions/upload-artifact@v3
209-
if: failure()
210-
with:
211-
name: nwaku-master-logs
212-
path: packages/tests/log/
90+
uses: ./.github/workflows/test-node.yml
91+
with:
92+
nim_wakunode_image: statusteam/nim-waku:deploy-wakuv2-test
93+
test_type: nwaku-master
94+
debug: waku*
21395

21496
maybe-release:
21597
name: release
21698
runs-on: ubuntu-latest
217-
if: >
218-
github.event_name == 'push' &&
219-
github.ref == 'refs/heads/master' &&
220-
(github.event.inputs.caller == null || github.event.inputs.caller != 'nwaku')
99+
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
221100
needs: [check, proto, browser, node]
222101
steps:
223102
- uses: google-github-actions/release-please-action@v3

.github/workflows/test-node.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Run Test
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
nim_wakunode_image:
7+
required: true
8+
type: string
9+
test_type:
10+
required: true
11+
type: string
12+
debug:
13+
required: false
14+
type: string
15+
default: ''
16+
17+
env:
18+
NODE_JS: "18"
19+
WAKU_SERVICE_NODE_PARAMS: ${{ (inputs.test_type == 'go-waku-master') && '--min-relay-peers-to-publish=0' || '' }}
20+
DEBUG: ${{ inputs.debug }}
21+
22+
jobs:
23+
node:
24+
runs-on: ubuntu-latest
25+
env:
26+
WAKUNODE_IMAGE: ${{ inputs.nim_wakunode_image }}
27+
steps:
28+
- uses: actions/checkout@v3
29+
with:
30+
repository: waku-org/js-waku
31+
32+
- uses: actions/setup-node@v3
33+
with:
34+
node-version: ${{ env.NODE_JS }}
35+
36+
- uses: ./.github/actions/npm
37+
38+
- run: npm run build:esm
39+
40+
- run: ${{ (inputs.test_type == 'node-optional') && 'npm run test:optional --workspace=@waku/tests' || 'npm run test:node' }}
41+
42+
- name: Upload debug logs on failure
43+
uses: actions/upload-artifact@v3
44+
if: failure()
45+
with:
46+
name: ${{ inputs.test_type }}-debug.log
47+
path: debug.log
48+
49+
- name: Upload logs on failure
50+
uses: actions/upload-artifact@v3
51+
if: failure()
52+
with:
53+
name: ${{ inputs.test_type }}-logs
54+
path: packages/tests/log/

0 commit comments

Comments
 (0)