33 push :
44 branches :
55 - main
6+ - docker-build-debug
67 pull_request :
78 branches :
89 - ' **'
@@ -14,211 +15,13 @@ env:
1415 ./doc/node_modules
1516
1617jobs :
17-
18- build :
19- runs-on : ubuntu-latest
20- steps :
21- - uses : actions/checkout@v4
22- - uses : actions/setup-node@v4
23- with :
24- node-version : lts/*
25- - uses : ipfs/aegir/actions/cache-node-modules@main
26- with :
27- directories : ${{ env.CACHE_DIRS }}
28-
29- check :
30- needs : build
31- runs-on : ubuntu-latest
32- steps :
33- - uses : actions/checkout@v4
34- - uses : actions/setup-node@v4
35- with :
36- node-version : lts/*
37- - uses : ipfs/aegir/actions/cache-node-modules@main
38- with :
39- directories : ${{ env.CACHE_DIRS }}
40- - run : npm run --if-present lint
41- - run : npm run --if-present dep-check
42- - run : npm run --if-present docs:no-publish
43- - run : npm run --if-present doc-check
44- test-node :
45- needs : build
46- runs-on : ${{ matrix.os }}
47- strategy :
48- matrix :
49- os : [windows-latest, ubuntu-latest, macos-latest]
50- node : [lts/*]
51- fail-fast : true
52- steps :
53- - uses : actions/checkout@v4
54- - uses : actions/setup-node@v4
55- with :
56- node-version : ${{ matrix.node }}
57- - uses : ipfs/aegir/actions/cache-node-modules@main
58- with :
59- directories : ${{ env.CACHE_DIRS }}
60- - run : npm run --if-present test:node
61- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
62- with :
63- flags : node
64- files : .coverage/*,packages/*/.coverage/*
65- token : ${{ secrets.CODECOV_TOKEN }}
66-
67- test-chrome :
68- needs : build
69- runs-on : ubuntu-latest
70- steps :
71- - uses : actions/checkout@v4
72- - uses : actions/setup-node@v4
73- with :
74- node-version : lts/*
75- - uses : ipfs/aegir/actions/cache-node-modules@main
76- with :
77- directories : ${{ env.CACHE_DIRS }}
78- - run : npm run --if-present test:chrome
79- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
80- with :
81- flags : chrome
82- files : .coverage/*,packages/*/.coverage/*
83- token : ${{ secrets.CODECOV_TOKEN }}
84-
85- test-chrome-webworker :
86- needs : build
87- runs-on : ubuntu-latest
88- steps :
89- - uses : actions/checkout@v4
90- - uses : actions/setup-node@v4
91- with :
92- node-version : lts/*
93- - uses : ipfs/aegir/actions/cache-node-modules@main
94- with :
95- directories : ${{ env.CACHE_DIRS }}
96- - run : npm run --if-present test:chrome-webworker
97- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
98- with :
99- flags : chrome-webworker
100- files : .coverage/*,packages/*/.coverage/*
101- token : ${{ secrets.CODECOV_TOKEN }}
102-
103- test-firefox :
104- needs : build
105- runs-on : ubuntu-latest
106- steps :
107- - uses : actions/checkout@v4
108- - uses : actions/setup-node@v4
109- with :
110- node-version : lts/*
111- - uses : ipfs/aegir/actions/cache-node-modules@main
112- with :
113- directories : ${{ env.CACHE_DIRS }}
114- - run : npm run --if-present test:firefox
115- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
116- with :
117- flags : firefox
118- files : .coverage/*,packages/*/.coverage/*
119- token : ${{ secrets.CODECOV_TOKEN }}
120-
121- test-firefox-webworker :
122- needs : build
123- runs-on : ubuntu-latest
124- steps :
125- - uses : actions/checkout@v4
126- - uses : actions/setup-node@v4
127- with :
128- node-version : lts/*
129- - uses : ipfs/aegir/actions/cache-node-modules@main
130- with :
131- directories : ${{ env.CACHE_DIRS }}
132- - run : npm run --if-present test:firefox-webworker
133- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
134- with :
135- flags : firefox-webworker
136- files : .coverage/*,packages/*/.coverage/*
137- token : ${{ secrets.CODECOV_TOKEN }}
138-
139- test-webkit :
140- needs : build
141- runs-on : ubuntu-latest
142- steps :
143- - uses : actions/checkout@v4
144- - uses : actions/setup-node@v4
145- with :
146- node-version : lts/*
147- - uses : ipfs/aegir/actions/cache-node-modules@main
148- with :
149- directories : ${{ env.CACHE_DIRS }}
150- # https://github.com/actions/runner-images/issues/9733#issuecomment-2074590278
151- - run : |
152- sudo rm /etc/apt/sources.list.d/microsoft-prod.list
153- sudo apt-get update
154- - run : npx playwright install-deps
155- - run : npm run --if-present test:webkit
156- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
157- with :
158- flags : webkit
159- files : .coverage/*,packages/*/.coverage/*
160- token : ${{ secrets.CODECOV_TOKEN }}
161-
162- test-electron-main :
163- needs : build
164- runs-on : ubuntu-latest
165- steps :
166- - uses : actions/checkout@v4
167- - uses : actions/setup-node@v4
168- with :
169- node-version : lts/*
170- - uses : ipfs/aegir/actions/cache-node-modules@main
171- with :
172- directories : ${{ env.CACHE_DIRS }}
173- - run : npx xvfb-maybe npm run --if-present test:electron-main
174- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
175- with :
176- flags : electron-main
177- files : .coverage/*,packages/*/.coverage/*
178- token : ${{ secrets.CODECOV_TOKEN }}
179-
180- test-electron-renderer :
181- needs : build
182- runs-on : ubuntu-latest
183- steps :
184- - uses : actions/checkout@v4
185- - uses : actions/setup-node@v4
186- with :
187- node-version : lts/*
188- - uses : ipfs/aegir/actions/cache-node-modules@main
189- with :
190- directories : ${{ env.CACHE_DIRS }}
191- - run : npx xvfb-maybe npm run --if-present test:electron-renderer
192- - uses : codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
193- with :
194- flags : electron-renderer
195- files : .coverage/*,packages/*/.coverage/*
196- token : ${{ secrets.CODECOV_TOKEN }}
197-
198- test-interop :
199- needs : build
200- runs-on : ubuntu-latest
201- steps :
202- - uses : actions/checkout@v4
203- - uses : actions/setup-node@v4
204- with :
205- node-version : lts/*
206- - uses : ipfs/aegir/actions/cache-node-modules@main
207- with :
208- directories : ${{ env.CACHE_DIRS }}
209- - run : npm run test:interop -- --bail
210-
21118 transport-interop :
212- needs : build
213- runs-on : ${{ fromJSON(github.repository == 'libp2p/js-libp2p' && '["self-hosted", "linux", "x64", "4xlarge"]' || '"ubuntu-latest"') }}
19+ runs-on : ubuntu-latest
21420 steps :
21521 - uses : actions/checkout@v4
21622 - uses : actions/setup-node@v4
21723 with :
21824 node-version : lts/*
219- - uses : ipfs/aegir/actions/cache-node-modules@main
220- with :
221- directories : ${{ env.CACHE_DIRS }}
22225 - name : Build images
22326 run : (cd interop && make -j 4)
22427 - name : Save package-lock.json as artifact
@@ -228,67 +31,8 @@ jobs:
22831 path : |
22932 package-lock.json
23033 interop/package-lock.json
231- - uses : libp2p/test-plans/.github/actions/run-interop-ping-test@master
34+ - uses : libp2p/test-plans/.github/actions/run-interop-ping-test@docker-build-debug
23235 with :
23336 test-filter : js-libp2p-head
23437 extra-versions : ${{ github.workspace }}/interop/node-version.json ${{ github.workspace }}/interop/chromium-version.json ${{ github.workspace }}/interop/firefox-version.json
235- s3-cache-bucket : ${{ vars.S3_LIBP2P_BUILD_CACHE_BUCKET_NAME }}
236- s3-access-key-id : ${{ vars.S3_LIBP2P_BUILD_CACHE_AWS_ACCESS_KEY_ID }}
237- s3-secret-access-key : ${{ secrets.S3_LIBP2P_BUILD_CACHE_AWS_SECRET_ACCESS_KEY }}
238- worker-count : 16
239-
240- release :
241- runs-on : ubuntu-latest
242- needs : [
243- test-node,
244- test-chrome,
245- test-chrome-webworker,
246- test-firefox,
247- test-firefox-webworker,
248- test-electron-main,
249- test-electron-renderer,
250- test-interop ,
251- transport-interop
252- ]
253- if : github.event_name == 'push' && github.ref == 'refs/heads/main'
254- permissions :
255- contents : write
256- id-token : write
257- pull-requests : write
258- steps :
259- - uses : googleapis/release-please-action@v4
260- id : release
261- with :
262- token : ${{ secrets.UCI_GITHUB_TOKEN || github.token }}
263- manifest-file : .release-please-manifest.json
264- config-file : .release-please.json
265- - uses : actions/checkout@v4
266- with :
267- fetch-depth : 0
268- - uses : actions/setup-node@v4
269- with :
270- node-version : lts/*
271- registry-url : ' https://registry.npmjs.org'
272- - uses : ipfs/aegir/actions/cache-node-modules@main
273- with :
274- directories : ${{ env.CACHE_DIRS }}
275- - uses : ipfs/aegir/actions/docker-login@main
276- with :
277- docker-token : ${{ secrets.DOCKER_TOKEN }}
278- docker-username : ${{ secrets.DOCKER_USERNAME }}
279- - if : ${{ steps.release.outputs.releases_created == 'true' }}
280- name : Run release version
281- run : |
282- git update-index --assume-unchanged packages/libp2p/src/version.ts
283- npm run --if-present release
284- env :
285- GITHUB_TOKEN : ${{ secrets.UCI_GITHUB_TOKEN || github.token }}
286- NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
287- - if : ${{ steps.release.outputs.releases_created != 'true' }}
288- name : Run release rc
289- run : |
290- git update-index --assume-unchanged packages/libp2p/src/version.ts
291- npm run --if-present release:rc
292- env :
293- GITHUB_TOKEN : ${{ secrets.UCI_GITHUB_TOKEN || github.token }}
294- NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
38+ worker-count : 4
0 commit comments