lion/.github/workflows/verify.yml
2022-06-20 13:36:49 +02:00

137 lines
3.8 KiB
YAML

name: Verify changes
on: pull_request
jobs:
verify:
name: Verify changes
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Sanity check
run: node ./scripts/yarn-lock-scan.js
- name: Setup Node 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Get yarn cache directory
id: yarn-cache-dir
run: |
echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
run: yarn --frozen-lockfile
- name: Lint
run: npm run lint
- name: Bundlesize
run: npm run bundlesize
browser-tests:
name: Browser tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Get yarn cache directory
id: yarn-cache-dir
run: |
echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
run: yarn --frozen-lockfile
- uses: microsoft/playwright-github-action@v1
- name: Test
run: npm run test:browser
node-tests:
name: Node tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [16.x]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Get yarn cache directory
id: yarn-cache-dir
run: |
echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
run: yarn --frozen-lockfile
- name: Test
run: npm run test:node
# Note this is a duplicate of the matrix (so we have 2 1x1 matrices). Up for improvement...
node-tests-windows:
name: Node tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [16.x]
os: [windows-latest]
steps:
- uses: actions/checkout@v2
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Get yarn cache directory
id: yarn-cache-dir
run: |
echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
run: yarn --frozen-lockfile
- name: Test
run: npm run test:node