Add the test title to the end of the lineage #158
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: Node CI | |
on: | |
push: | |
branches: | |
- main | |
- 'abq/v**' | |
pull_request: | |
branches: | |
- '**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
prepare-yarn-cache-ubuntu: | |
uses: ./.github/workflows/prepare-cache.yml | |
with: | |
os: ubuntu-latest | |
prepare-yarn-cache-macos: | |
uses: ./.github/workflows/prepare-cache.yml | |
with: | |
os: macos-latest | |
prepare-yarn-cache-windows: | |
uses: ./.github/workflows/prepare-cache.yml | |
with: | |
os: windows-latest | |
ts-compatibility: | |
name: TypeScript Compatibility | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache-ubuntu | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
cache: yarn | |
- name: install | |
run: yarn --immutable | |
- name: build | |
run: yarn build | |
- name: ts integration | |
run: yarn test-ts --selectProjects ts-integration | |
- name: type tests | |
run: yarn test-ts --selectProjects type-tests | |
- name: verify TypeScript@4.3 compatibility | |
run: yarn verify-old-ts | |
- name: typecheck examples | |
run: yarn typecheck:examples | |
- name: typecheck tests | |
run: yarn typecheck:tests | |
- name: run ESLint with type info | |
run: yarn lint-ts-files | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache-ubuntu | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
cache: yarn | |
- name: install | |
run: yarn --immutable | |
- name: build | |
run: yarn build:js | |
- name: verify Yarn PnP compatibility | |
run: yarn verify-pnp | |
- name: run eslint | |
run: yarn lint | |
- name: run prettier | |
run: yarn lint:prettier:ci | |
- name: check changelog | |
run: yarn check-changelog | |
- name: check copyright headers | |
run: yarn check-copyright-headers | |
yarn-validate: | |
name: Validate Yarn dependencies and constraints | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache-ubuntu | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
cache: yarn | |
- name: 'Check for unmet constraints (fix w/ "yarn constraints --fix")' | |
run: yarn constraints | |
- name: 'Check for duplicate dependencies (fix w/ "yarn dedupe")' | |
run: yarn dedupe --check | |
yarn-build: | |
name: Build Jest for ABQ | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache-ubuntu | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Set up node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
registry-url: https://registry.npmjs.org | |
scope: '@rwx-research' | |
cache: yarn | |
- name: Install dependencies | |
run: yarn --immutable | |
- name: Build | |
run: yarn build | |
- name: Point to @rwx-research versions of patched packages | |
run: node scripts/abqPrepare.mjs | |
- name: Update local dependencies for ABQ | |
run: yarn --no-immutable | |
test-ubuntu: | |
uses: ./.github/workflows/test.yml | |
needs: prepare-yarn-cache-ubuntu | |
with: | |
os: ubuntu-latest | |
test-macos: | |
uses: ./.github/workflows/test.yml | |
needs: prepare-yarn-cache-macos | |
with: | |
os: macos-latest | |
test-windows: | |
uses: ./.github/workflows/test.yml | |
needs: prepare-yarn-cache-windows | |
with: | |
os: windows-latest | |
test-leak: | |
name: Node LTS on Ubuntu with leak detection | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache-ubuntu | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Use Node.js LTS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
cache: yarn | |
- name: install | |
run: yarn --immutable | |
- name: build | |
run: yarn build:js | |
- name: run tests with leak detection | |
run: yarn test-leak | |
test-coverage: | |
name: Node LTS on Ubuntu with coverage (${{ matrix.shard }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
shard: ['1/4', '2/4', '3/4', '4/4'] | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache-ubuntu | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Use Node.js LTS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
cache: yarn | |
- name: install | |
run: yarn --immutable | |
- name: build | |
run: yarn build:js | |
- name: Get number of CPU cores | |
id: cpu-cores | |
uses: SimenB/github-actions-cpu-cores@v1 | |
- name: run tests with coverage | |
run: yarn jest-coverage --color --config jest.config.ci.mjs --max-workers ${{ steps.cpu-cores.outputs.count }} --shard=${{ matrix.shard }} | |
- name: map coverage | |
run: node ./scripts/mapCoverage.mjs | |
if: always() | |
- uses: codecov/codecov-action@v3 | |
if: always() | |
with: | |
directory: ./coverage |