Merge pull request #1273 from InsightSoftwareConsortium/dependabot/np… #2279
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Browser Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
defaults: | |
run: | |
shell: bash -leo pipefail {0} {0} | |
jobs: | |
test-cypress: | |
name: browser tests | |
runs-on: ubuntu-22.04 | |
strategy: | |
max-parallel: 3 | |
matrix: | |
package: [compress-stringify, compare-images, dicom, mesh-io, image-io, transform-io, downsample] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Build itk-wasm | |
run: | | |
pnpm run --aggregate-output --filter itk-wasm build | |
- name: Build @itk-wasm/demo-app | |
run: | | |
pnpm run --aggregate-output --filter '@itk-wasm/demo-app' build | |
- name: Build build:gen:typescript | |
run: | | |
pnpm run --aggregate-output --filter "@itk-wasm/${{ matrix.package }}-build..." build:gen:typescript | |
- name: Build typescript | |
run: | | |
pnpm install | |
# Build the generated TypeScript package | |
pnpm run --aggregate-output --filter "@itk-wasm/${{ matrix.package }}..." build:tsc | |
pnpm run --aggregate-output --filter "@itk-wasm/${{ matrix.package }}" build | |
- name: Download test data | |
run: | | |
pnpm run --aggregate-output --filter "@itk-wasm/${{ matrix.package }}-build" test:data:download | |
- name: Test with Chrome | |
if: ${{ matrix.package != 'dicom' }} | |
uses: cypress-io/github-action@v6 | |
with: | |
browser: chrome | |
working-directory: packages/${{ matrix.package }}/typescript | |
install: false | |
start: pnpm start | |
config: video=true | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: cypress-videos-${{ matrix.package }} | |
path: packages/${{ matrix.package }}/typescript/cypress/videos | |
if-no-files-found: ignore | |
#- name: Test with Firefox | |
#if: ${{ matrix.package != 'compress-stringify' && matrix.package != 'dicom' && matrix.package != 'mesh-io' && matrix.package != 'image-io' && matrix.package != 'downsample' }} | |
#uses: cypress-io/github-action@v6 | |
#with: | |
#browser: firefox | |
#working-directory: packages/${{ matrix.package }}/typescript | |
#install: false | |
#start: pnpm start | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-screenshots-${{ matrix.package }} | |
path: packages/${{ matrix.package }}/typescript/cypress/screenshots | |
if-no-files-found: ignore | |
test-itk-wasm-cypress: | |
name: itk-wasm browser tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Build itk-wasm | |
run: | | |
pnpm run --aggregate-output --filter itk-wasm build | |
- name: Build @itk-wasm/demo-app | |
run: | | |
pnpm run --aggregate-output --filter '@itk-wasm/demo-app' build | |
- name: Build build:gen:typescript | |
run: | | |
pnpm run --aggregate-output build:gen:typescript | |
- name: Build itk-wasm | |
run: | | |
pnpm run --aggregate-output --filter itk-wasm build | |
# Test deps | |
pnpm run --aggregate-output --filter "@itk-wasm/demo-app" build | |
pnpm run --aggregate-output --filter "@itk-wasm/mesh-io" build | |
pnpm run --aggregate-output --filter "@itk-wasm/transform-io" build | |
pnpm run --aggregate-output --filter "@itk-wasm/image-io" build | |
- name: Test itk-wasm with Chrome | |
uses: cypress-io/github-action@v6 | |
with: | |
browser: chrome | |
working-directory: packages/core/typescript/itk-wasm | |
install: false | |
start: pnpm start | |
config: video=true | |
wait-on: 'http://localhost:5180' | |
wait-on-timeout: 360 | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: cypress-videos | |
path: packages/core/typescript/itk-wasm/cypress/videos | |
if-no-files-found: ignore | |
#- name: Test with Firefox | |
#uses: cypress-io/github-action@v6 | |
#with: | |
#browser: firefox | |
#working-directory: packages/core/typescript/itk-wasm | |
#install: false | |
#config: video=true | |
#start: pnpm start | |
#wait-on: 'http://localhost:5180' | |
#wait-on-timeout: 360 | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: packages/core/typescript/itk-wasm/cypress/videos | |
if-no-files-found: ignore |