fix(sdk-metrics): hand-roll MetricAdvice type as older API versions d… #9024
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: 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 | |
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: 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@v3 | |
with: | |
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 | |
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: 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" | |
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 |