fix: bump deploy docs workflow to node 18 #8881
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: | |
- "14" | |
- "16" | |
- "18" | |
runs-on: ubuntu-latest | |
env: | |
NPM_CONFIG_UNSAFE_PERM: true | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node_version }} | |
- run: npm install -g npm@latest | |
if: ${{ matrix.node_version == '18' || matrix.node_version == '20' }} | |
# [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: restore lerna | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
package-lock.json | |
packages/*/node_modules | |
packages/*/package-lock.json | |
experimental/packages/*/node_modules | |
experimental/packages/*/package-lock.json | |
key: node-tests-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022 | |
# temporary fix for https://github.com/nrwl/nx/issues/19022 | |
- run: npm install --save-dev [email protected] @nx/[email protected] | |
if: ${{ matrix.node_version == '14' }} | |
- name: Bootstrap | |
run: | | |
npm install --ignore-scripts | |
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests | |
- name: Build 🔧 | |
run: | | |
npm run compile | |
- name: Unit tests | |
run: | | |
# TODO(legendecas): webpack https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported | |
if [ "${{ matrix.node_version }}" = "18" ]; then | |
export NODE_OPTIONS=--openssl-legacy-provider | |
fi | |
npm run test | |
- name: Report Coverage | |
run: npm run codecov | |
if: ${{ matrix.node_version == '14' }} | |
node-windows-tests: | |
runs-on: windows-latest | |
env: | |
NPM_CONFIG_UNSAFE_PERM: true | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
- run: npm install -g npm@latest | |
- name: restore lerna | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
package-lock.json | |
packages/*/node_modules | |
packages/*/package-lock.json | |
experimental/packages/*/node_modules | |
experimental/packages/*/package-lock.json | |
key: node-windows-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }} | |
- name: Bootstrap | |
run: | | |
npm install --ignore-scripts | |
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests | |
- 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@v3 | |
with: | |
node-version: 16 | |
- name: restore lerna | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
package-lock.json | |
packages/*/node_modules | |
packages/*/package-lock.json | |
experimental/packages/*/node_modules | |
experimental/packages/*/package-lock.json | |
key: browser-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022 | |
- name: Bootstrap | |
run: | | |
npm install --ignore-scripts | |
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests | |
- 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/[email protected] | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: restore lerna | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
package-lock.json | |
packages/*/node_modules | |
packages/*/package-lock.json | |
experimental/packages/*/node_modules | |
experimental/packages/*/package-lock.json | |
key: webworker-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022 | |
- name: Bootstrap | |
run: | | |
npm install --ignore-scripts | |
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' | |
- 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" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
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 |