Mirror: The small sibling of the graphql package, slimmed down for client-side libraries.
1name: CI
2
3on:
4 pull_request:
5 push:
6 branches: main
7
8jobs:
9 check:
10 name: Checks
11 runs-on: ubuntu-latest
12 timeout-minutes: 10
13 steps:
14 - name: Checkout Repo
15 uses: actions/checkout@v2
16 with:
17 fetch-depth: 0
18 - name: Setup Node
19 uses: actions/setup-node@v1
20 with:
21 node-version: '14'
22 - name: Get Yarn cache directory
23 id: yarn-cache-dir-path
24 run: echo "::set-output name=dir::$(yarn cache dir)"
25 - name: Use Yarn cache
26 uses: actions/cache@v2
27 id: yarn-cache
28 with:
29 path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
30 key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
31 restore-keys: |
32 ${{ runner.os }}-yarn-
33 - name: Use node_modules cache
34 id: node-modules-cache
35 uses: actions/cache@v2
36 with:
37 path: node_modules
38 key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
39 - name: Install Dependencies
40 if: |
41 steps.yarn-cache.outputs.cache-hit != 'true' ||
42 steps.node-modules-cache.outputs.cache-hit != 'true'
43 run: yarn install --prefer-offline --frozen-lockfile --non-interactive --silent
44 - name: Linting
45 run: yarn run lint
46 - name: Unit Tests
47 run: yarn run test --maxWorkers=2
48 - name: Build
49 run: yarn run build