Merge staging
into prod
#15015
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: Node.js CI - Shared | |
on: | |
pull_request: | |
jobs: | |
Shared: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ci_node_total: [4] | |
ci_node_index: [0, 1, 2, 3] | |
env: | |
CI_NODE_TOTAL: ${{ matrix.ci_node_total }} | |
CI_NODE_INDEX: ${{ matrix.ci_node_index }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20.14.0' | |
- name: Collect Workflow Telemetry | |
uses: runforesight/workflow-telemetry-action@v2 | |
with: | |
comment_on_pr: false | |
- name: Install Node Dependencies | |
run: npm ci | |
- name: Shared | |
run: | | |
export TESTFILES=$(npx ts-node split-tests-glob.ts -shared) | |
NODE_INDEX=${{ matrix.ci_node_index }} npm run test:shared:ci | |
- name: Rename coverage to shard coverage | |
run: | | |
mkdir -p coverage | |
cp shared/coverage/${{ matrix.ci_node_index }}/lcov.info coverage/lcov-${{ matrix.ci_node_index }}.info | |
cp shared/coverage/${{ matrix.ci_node_index }}/coverage-final.json coverage/coverage-${{ matrix.ci_node_index }}.json | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-artifacts-${{ matrix.ci_node_index }} | |
path: coverage | |
check-coverage: | |
runs-on: ubuntu-latest | |
needs: [Shared] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-artifacts-* | |
merge-multiple: true | |
path: coverage | |
- name: Process Coverage | |
run: npx nyc report --check-coverage --branches 95 --functions 95 --lines 95 --statements 95 --reporter lcov --reporter text --reporter clover -t coverage | |
- uses: geekyeggo/delete-artifact@v1 | |
with: | |
name: coverage-artifacts | |
failOnError: false |