[Snyk] Security upgrade jest-environment-jsdom from 27.5.1 to 28.0.0 #90
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: | |
- master | |
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/master'" | |
prepare-yarn-cache: | |
name: Prepare yarn cache | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/[email protected] | |
with: | |
node-version: 14.x | |
- name: Get yarn cache | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" | |
- uses: actions/cache@v2 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: yarn2-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
yarn2- | |
- 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/[email protected] | |
with: | |
node-version: 12.x | |
- name: Get yarn cache | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" | |
- uses: actions/cache@v2 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: yarn2-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
yarn2- | |
- 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: 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] | |
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/[email protected] | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Get yarn cache | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" | |
- uses: actions/cache@v2 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: yarn2-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
yarn2- | |
- 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/[email protected] | |
with: | |
node-version: 14.x | |
- name: Get yarn cache | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" | |
- uses: actions/cache@v2 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: yarn2-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
yarn2- | |
- 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 }} |