Merge remote-tracking branch 'origin/main' into next-temp #336
Workflow file for this run
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: Unit Tests | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
merge_group: | ||
jobs: | ||
node-tests: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
node_version: | ||
- "18" | ||
- "20" | ||
runs-on: ubuntu-latest | ||
env: | ||
NPM_CONFIG_UNSAFE_PERM: true | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
package-lock.json | ||
node-version: ${{ matrix.node_version }} | ||
- run: npm install -g npm@latest | ||
- name: Bootstrap | ||
run: npm ci | ||
- name: Build 🔧 | ||
run: npm run compile | ||
- name: Unit tests | ||
run: | | ||
# TODO(legendecas): webpack https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported | ||
export NODE_OPTIONS=--openssl-legacy-provider | ||
npm run test | ||
- name: Report Coverage | ||
run: npm run codecov | ||
if: ${{ matrix.node_version == '18' }} | ||
node-windows-tests: | ||
runs-on: windows-latest | ||
env: | ||
NPM_CONFIG_UNSAFE_PERM: true | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
package-lock.json | ||
node-version: '18' | ||
- run: npm install -g npm@latest | ||
- name: Bootstrap | ||
run: npm ci | ||
- name: Build 🔧 | ||
run: | | ||
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe" | ||
npm run compile | ||
- name: Unit tests | ||
env: | ||
NODE_OPTIONS: --openssl-legacy-provider | ||
run: npm run test | ||
browser-tests: | ||
runs-on: ubuntu-latest | ||
env: | ||
NPM_CONFIG_UNSAFE_PERM: true | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
<<<<<<< HEAD | ||
node-version: 18 | ||
======= | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
package-lock.json | ||
node-version: 16 | ||
>>>>>>> origin/main | ||
- name: Bootstrap | ||
run: npm ci | ||
- name: Build 🔧 | ||
run: npm run compile | ||
- name: Unit tests | ||
run: npm run test:browser | ||
- name: Report Coverage | ||
run: npm run codecov:browser | ||
webworker-tests: | ||
runs-on: ubuntu-latest | ||
env: | ||
NPM_CONFIG_UNSAFE_PERM: true | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
<<<<<<< HEAD | ||
node-version: 18 | ||
======= | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
package-lock.json | ||
node-version: 16 | ||
>>>>>>> origin/main | ||
- name: Bootstrap | ||
run: npm ci | ||
- name: Build 🔧 | ||
run: npm run compile | ||
- name: Unit tests | ||
run: npm run test:webworker | ||
- name: Report Coverage | ||
run: npm run codecov:webworker | ||
api-eol-node-test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
node_version: | ||
- "8" | ||
- "10" | ||
- "12" | ||
- "14" | ||
- "16" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
cache: 'npm' | ||
cache-dependency-path: | | ||
package-lock.json | ||
node-version: ${{ matrix.node_version }} | ||
- name: Build | ||
working-directory: ./api | ||
run: | | ||
npm install --ignore-scripts | ||
npm install @types/mocha@^7 mocha@^7 ts-loader@^8 ts-mocha@^8 | ||
node ../scripts/version-update.js | ||
npx tsc --build tsconfig.json tsconfig.esm.json | ||
- name: Test | ||
working-directory: ./api | ||
# running test:eol as node 8 is not supported anymore by the version of nyc we use, as we don't report coverage | ||
# for this step we leave it out. | ||
# Details: nyc requires istanbul-lib-report, which silently dropped support for Node.js v8 when going from | ||
# 3.0.0 to 3.0.1 by requiring make-dir@^4.0.0 to fix https://github.com/advisories/GHSA-c2qf-rxjj-qqgw. | ||
# make-dir does not support Node.js v8 anymore. | ||
run: npm run test:eol |