chore(deps): bump dessant/lock-threads from 3 to 5 #23
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 | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
cleanup-runs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: rokroskar/workflow-run-cleanup-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'" | |
prepare-yarn-cache: | |
name: Prepare yarn cache | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 14.x | |
cache: yarn | |
- name: Validate cache | |
env: | |
# Use PnP and disable postinstall scripts as this just needs to | |
# populate the cache for the other jobs | |
YARN_NODE_LINKER: pnp | |
YARN_ENABLE_SCRIPTS: false | |
run: yarn --immutable | |
lint-and-typecheck: | |
name: Running TypeScript compiler & ESLint | |
runs-on: ubuntu-latest | |
needs: prepare-yarn-cache | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 12.x | |
cache: yarn | |
- name: install | |
run: yarn --immutable | |
- name: build | |
run: yarn build | |
- name: test typings | |
run: yarn test-types | |
- name: verify [email protected] compatibility | |
run: yarn verify-old-ts | |
- 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 copyright headers | |
run: yarn check-copyright-headers | |
test: | |
name: Node v${{ matrix.node-version }} on ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [10.x, 12.x, 14.x, 15.x, 16.x] | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
needs: prepare-yarn-cache | |
steps: | |
- name: Set git config | |
shell: bash | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.symlinks true | |
if: runner.os == 'Windows' | |
- uses: actions/checkout@v2 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
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 | |
run: yarn test-ci-partial:parallel --max-workers ${{ steps.cpu-cores.outputs.count }} | |
test-jasmine: | |
name: Node LTS on ${{ matrix.os }} using jest-jasmine2 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
needs: prepare-yarn-cache | |
steps: | |
- name: Set git config | |
shell: bash | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.symlinks true | |
if: runner.os == 'Windows' | |
- uses: actions/checkout@v2 | |
- name: Use Node.js 14.x | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 14.x | |
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 using jest-jasmine | |
run: yarn jest-jasmine-ci --max-workers ${{ steps.cpu-cores.outputs.count }} |