refactor: update prebuild to download first, fallback to build #396
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: native-metrics CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- '**' | |
tags-ignore: # Do not run for tags | |
- '**' | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [lts/*] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Dependencies | |
run: npm ci | |
- name: Run Linting | |
run: npm run lint | |
- name: Inspect Lockfile | |
run: npm run lint:lockfile | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [16.x, 18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Dependencies | |
run: npm ci | |
- name: Rebuild | |
run: npm run rebuild | |
- name: Run Unit | |
run: npm run unit | |
- name: Post Unit Test Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/unit/ | |
files: lcov.info | |
flags: unit-tests-${{ matrix.node-version }}-linux | |
- name: Run Integration | |
run: npm run integration | |
- name: Post Integration Test Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/integration/ | |
files: lcov.info | |
flags: integration-tests-${{ matrix.node-version }}-linux | |
windows-2019: | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
node-version: [16.x, 18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Dependencies | |
run: npm ci | |
- name: Rebuild | |
run: npm run rebuild | |
- name: Run Unit | |
run: npm run unit | |
- name: Post Unit Test Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/unit/ | |
files: lcov.info | |
flags: unit-tests-${{ matrix.node-version }}-windows-2019 | |
- name: Run Integration | |
run: npm run integration | |
- name: Post Integration Test Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/integration/ | |
files: lcov.info | |
flags: integration-tests-${{ matrix.node-version }}-windows-2019 | |
windows-latest: | |
runs-on: windows-latest | |
# Node 16+ should eventually bundle node-gyp>=8.4.0 to be compatible with Server 2022. | |
# Once compatible, can remove node-gyp upgrade. | |
strategy: | |
matrix: | |
node-version: [16.x, 18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Dependencies | |
run: npm ci | |
- name: Rebuild | |
run: npm run rebuild | |
- name: Run Unit | |
run: npm run unit | |
- name: Post Unit Test Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/unit/ | |
files: lcov.info | |
flags: unit-tests-${{ matrix.node-version }}-windows-latest | |
- name: Run Integration | |
run: npm run integration | |
- name: Post Integration Test Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage/integration/ | |
files: lcov.info | |
flags: integration-tests-${{ matrix.node-version }}-windows-latest |