57 lines
1.2 KiB
YAML
57 lines
1.2 KiB
YAML
name: 🛠
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request: # run on all PRs, not just PRs to a particular branch
|
|
|
|
jobs:
|
|
basics:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
node: [ 'latest', 'lts/*', 'lts/-1' ]
|
|
name: basics (node ${{ matrix.node }})
|
|
|
|
steps:
|
|
- name: git clone
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
cache: 'yarn'
|
|
|
|
- run: yarn --frozen-lockfile --network-timeout 1000000
|
|
- run: yarn build
|
|
|
|
- run: yarn test-formatting
|
|
- run: yarn type-check
|
|
|
|
# Run tests that require headful Chrome.
|
|
- run: sudo apt-get install xvfb
|
|
- name: yarn test
|
|
run: xvfb-run --auto-servernum yarn test --reporter=spec
|
|
|
|
unit:
|
|
strategy:
|
|
matrix:
|
|
os: [macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
name: unit_${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: git clone
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: lts/*
|
|
cache: 'yarn'
|
|
|
|
- run: yarn --frozen-lockfile --network-timeout 1000000
|
|
- run: yarn build
|
|
- run: yarn test --reporter=spec
|