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
19 - name: Setup Node
20 uses: actions/setup-node@v1
21 with:
22 node-version: '18'
23
24 - name: Setup pnpm
25 uses: pnpm/action-setup@v2.2.2
26 with:
27 version: 7
28 run_install: false
29
30 - name: Get pnpm store directory
31 id: pnpm-store
32 run: echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
33
34 - name: Use pnpm store
35 uses: actions/cache@v3
36 id: pnpm-cache
37 with:
38 path: ${{ steps.pnpm-store.outputs.pnpm_cache_dir }}
39 key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
40 restore-keys: |
41 ${{ runner.os }}-pnpm-
42
43 - name: Install Dependencies
44 run: pnpm install --frozen-lockfile --prefer-offline
45
46 - name: Linting
47 run: pnpm run lint
48
49 - name: Unit Tests
50 run: pnpm run test --run
51
52 - name: Build
53 run: pnpm run build