ENH: Add OpenSSF Scorecard action #2713
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: Examples | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test-node-example: | |
name: node-js | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Pull latest Docker images | |
run: | | |
./src/docker/pull.sh --no-debug | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Install | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Build dependencies | |
run: | | |
pnpm run --filter '@itk-wasm/image-io...' build | |
pnpm run --filter '@itk-wasm/mesh-io...' build | |
- name: Test | |
working-directory: ./examples/node-js | |
run: | | |
pnpm test | |
build-hello-world-example: | |
name: hello-world build | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: ./examples/hello-world | |
steps: | |
- 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: '22' | |
- name: Install | |
run: | | |
npm install | |
- name: Build | |
run: | | |
npm run build | |
- name: Save wasm builds | |
uses: actions/upload-artifact@v4 | |
with: | |
name: hello-world-build | |
if-no-files-found: error | |
path: | | |
examples/hello-world/emscripten-build | |
examples/hello-world/wasi-build | |
test-hello-world-example: | |
name: hello-world test | |
needs: build-hello-world-example | |
runs-on: ubuntu-22.04 | |
container: cypress/browsers:node18.12.0-chrome107 | |
defaults: | |
run: | |
working-directory: ./examples/hello-world | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Load wasm builds | |
uses: actions/download-artifact@v4 | |
with: | |
name: hello-world-build | |
path: examples/hello-world | |
- name: Test | |
uses: cypress-io/github-action@v6 | |
with: | |
working-directory: ./examples/hello-world | |
browser: chrome | |
start: npm start | |
build-test-hello-pipeline-example: | |
name: hello-pipeline build test | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: ./examples/hello-pipeline | |
steps: | |
- 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: '22' | |
- name: Install | |
run: | | |
npm install | |
- name: Build | |
run: | | |
npm run build | |
- name: Test | |
run: | | |
npm run test | |
npm run test:quiet | |
npm run test:help | |
build-test-inputs-outputs-example: | |
name: inputs-outputs | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: ./examples/inputs-outputs | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Pull latest Docker images | |
run: | | |
../../src/docker/pull.sh --no-debug | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Install | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Build dependencies | |
run: | | |
pnpm run --filter '@itk-wasm/image-io...' build | |
- name: Build | |
working-directory: ./examples/inputs-outputs | |
run: | | |
pnpm build | |
- name: Test WASI | |
working-directory: ./examples/inputs-outputs | |
run: | | |
pnpm test | |
- name: Build TypeScript | |
working-directory: ./examples/inputs-outputs/typescript | |
run: | | |
pnpm build | |
- name: Test TypeScript | |
working-directory: ./examples/inputs-outputs/typescript | |
run: | | |
pnpm test | |
test-webpack-example: | |
name: webpack | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Test Webpack Example on Chrome | |
uses: cypress-io/github-action@v6 | |
with: | |
working-directory: ./examples/webpack | |
browser: chrome | |
start: npm start | |
#- name: Test Webpack Example on Firefox | |
#uses: cypress-io/github-action@v6 | |
#with: | |
#working-directory: ./examples/webpack | |
#browser: firefox | |
#start: npm start | |
test-vite-example: | |
name: vite | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Test Vite Example on Chrome | |
uses: cypress-io/github-action@v6 | |
with: | |
working-directory: ./examples/vite | |
browser: chrome | |
start: npm start | |
#- name: Test Vite Example on Firefox | |
#uses: cypress-io/github-action@v6 | |
#with: | |
#working-directory: ./examples/vite | |
#browser: firefox | |
#start: npm start | |
test-debugging-example: | |
name: debugging | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: ./examples/debugging | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Pull latest Docker images | |
run: | | |
../../src/docker/pull.sh --no-debug | |
- name: Install | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Build dependencies | |
run: | | |
pnpm run --filter 'itk-wasm' build | |
- name: Install | |
run: | | |
pnpm install | |
- name: Build | |
run: | | |
pnpm native-build | |
pnpm emscripten-build-release | |
pnpm emscripten-build-debug | |
pnpm wasi-build-debug | |
test-different-input-types-example: | |
name: different-input-types | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: ./examples/different-input-types | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Pull latest Docker images | |
run: | | |
../../src/docker/pull.sh --no-debug | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Install | |
run: | | |
npm install | |
- name: Build | |
run: | | |
npm run build | |
- name: Test | |
run: | | |
npm run test | |
test-mean-squares-versor-registration: | |
name: mean-squares-versor-registration | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
large-packages: false | |
tool-cache: true | |
- name: Pull latest Docker images | |
run: | | |
./src/docker/pull.sh --no-debug | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Install | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Build dependencies | |
run: | | |
pnpm run --filter '@itk-wasm/image-io...' build | |
- name: Build | |
working-directory: ./examples/mean-squares-versor-registration | |
run: | | |
pnpm build | |
- name: Test WASI | |
working-directory: ./examples/mean-squares-versor-registration | |
run: | | |
pnpm test | |
- name: Build TypeScript | |
working-directory: ./examples/mean-squares-versor-registration/typescript | |
run: | | |
pnpm build |