Skip to content

Commit d37bf92

Browse files
committed
ci: split itk-wasm browser tests into their own job
They now need the @itk-wasm/mesh-io and @itk-wasm/image-io builds, which are relatively long. Also isolate for identifiability.
1 parent 57d2a97 commit d37bf92

File tree

1 file changed

+62
-6
lines changed

1 file changed

+62
-6
lines changed

.github/workflows/cypress.yml

Lines changed: 62 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ defaults:
99
jobs:
1010

1111
test-cypress:
12-
name: itk-wasm browser tests
12+
name: itk-wasm reference packages browser tests
1313
runs-on: ubuntu-22.04
1414
strategy:
1515
max-parallel: 3
@@ -63,6 +63,59 @@ jobs:
6363
start: pnpm start
6464
config: video=true
6565

66+
- uses: actions/upload-artifact@v3
67+
if: always()
68+
with:
69+
name: cypress-videos
70+
path: packages/${{ matrix.package }}/typescript/cypress/videos
71+
if-no-files-found: ignore
72+
73+
- name: Test with Firefox
74+
if: ${{ matrix.package != 'dicom' }}
75+
uses: cypress-io/github-action@v6
76+
with:
77+
browser: firefox
78+
working-directory: packages/${{ matrix.package }}/typescript
79+
install: false
80+
start: pnpm start
81+
82+
- uses: actions/upload-artifact@v3
83+
if: failure()
84+
with:
85+
name: cypress-screenshots
86+
path: packages/${{ matrix.package }}/typescript/cypress/screenshots
87+
if-no-files-found: ignore
88+
89+
test-itk-wasm-cypress:
90+
name: itk-wasm browser tests
91+
runs-on: ubuntu-22.04
92+
93+
steps:
94+
- name: Checkout
95+
uses: actions/checkout@v4
96+
97+
- name: Free Disk Space (Ubuntu)
98+
uses: jlumbroso/free-disk-space@main
99+
with:
100+
large-packages: false
101+
102+
- uses: actions/setup-node@v4
103+
with:
104+
node-version: '20'
105+
106+
- name: Install
107+
uses: pnpm/action-setup@v2
108+
with:
109+
version: 8
110+
run_install: true
111+
112+
- name: Build itk-wasm
113+
run: |
114+
pnpm run --aggregate-output --filter itk-wasm build
115+
# Test deps
116+
pnpm run --aggregate-output --filter "@itk-wasm/mesh-io" build
117+
pnpm run --aggregate-output --filter "@itk-wasm/image-io" build
118+
66119
- name: Test itk-wasm with Chrome
67120
uses: cypress-io/github-action@v6
68121
with:
@@ -74,25 +127,28 @@ jobs:
74127
wait-on: 'http://localhost:5173'
75128
wait-on-timeout: 360
76129

77-
- uses: actions/upload-artifact@v3
130+
- uses: actions/upload-artifact@v4
78131
if: always()
79132
with:
80133
name: cypress-videos
81-
path: packages/${{ matrix.package }}/typescript/cypress/videos
134+
path: packages/core/typescript/itk-wasm/cypress/videos
82135
if-no-files-found: ignore
83136

84137
- name: Test with Firefox
85138
if: ${{ matrix.package != 'dicom' }}
86139
uses: cypress-io/github-action@v6
87140
with:
88141
browser: firefox
89-
working-directory: packages/${{ matrix.package }}/typescript
142+
working-directory: packages/core/typescript/itk-wasm
90143
install: false
144+
config: video=true
91145
start: pnpm start
146+
wait-on: 'http://localhost:5173'
147+
wait-on-timeout: 360
92148

93-
- uses: actions/upload-artifact@v3
149+
- uses: actions/upload-artifact@v4
94150
if: failure()
95151
with:
96152
name: cypress-screenshots
97-
path: packages/${{ matrix.package }}/typescript/cypress/screenshots
153+
path: packages/core/typescript/itk-wasm/cypress/videos
98154
if-no-files-found: ignore

0 commit comments

Comments
 (0)