chore(deps): lock file maintenance (#5008) #11750
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: | |
- "14" | |
- "16" | |
- "18" | |
- "20" | |
- "22" | |
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 | |
if: ${{ matrix.node_version == '18' || matrix.node_version == '20' || matrix.node_version == '22' }} | |
# [email protected] drops support for Node.js v14 and v16 | |
- run: npm install -g npm@"<10.0.0" | |
if: ${{ matrix.node_version == '14' || matrix.node_version == '16' }} | |
- name: Bootstrap | |
run: npm ci | |
- name: Build 🔧 | |
run: npm run compile | |
- name: Unit tests | |
run: npm run test | |
- name: Report Coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
verbose: true | |
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 | |
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: | |
cache: 'npm' | |
cache-dependency-path: | | |
package-lock.json | |
node-version: 16 | |
- name: Bootstrap | |
run: npm ci | |
- name: Build 🔧 | |
run: npm run compile | |
- name: Unit tests | |
run: npm run test:browser | |
- name: Report Coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
verbose: true | |
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: | |
cache: 'npm' | |
cache-dependency-path: | | |
package-lock.json | |
node-version: 16 | |
- name: Bootstrap | |
run: npm ci | |
- name: Build 🔧 | |
run: npm run compile | |
- name: Unit tests | |
run: npm run test:webworker | |
- name: Report Coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
verbose: true | |
api-eol-node-test: | |
strategy: | |
fail-fast: false | |
matrix: | |
node_version: | |
- "8" | |
- "10" | |
- "12" | |
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 | |
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 |