Mirror: A Node.js fetch shim using built-in Request, Response, and Headers (but without native fetch)
1name: CI
2
3on:
4 pull_request:
5 pull_request_review:
6 types: [submitted, edited]
7 branches: changeset-release/main
8 push:
9 branches:
10 - main
11
12jobs:
13 unit:
14 name: Unit Tests
15 runs-on: ubuntu-latest
16 timeout-minutes: 10
17 strategy:
18 matrix:
19 node_version: [18, 20, 22]
20 steps:
21 - name: Checkout Repo
22 uses: actions/checkout@v4
23 with:
24 fetch-depth: 0
25
26 - name: Setup pnpm
27 uses: pnpm/action-setup@v3
28 with:
29 version: 9
30 run_install: false
31
32 - name: Setup Node
33 uses: actions/setup-node@v4
34 with:
35 node-version: ${{ matrix.node_version }}
36 cache: 'pnpm'
37
38 - name: Install Dependencies
39 run: pnpm install --frozen-lockfile --prefer-offline
40
41 - name: Unit Tests
42 run: pnpm run test
43
44 check:
45 name: Checks
46 runs-on: ubuntu-latest
47 timeout-minutes: 10
48 steps:
49 - name: Checkout Repo
50 uses: actions/checkout@v4
51 with:
52 fetch-depth: 0
53
54 - name: Setup pnpm
55 uses: pnpm/action-setup@v3
56 with:
57 version: 9
58 run_install: false
59
60 - name: Setup Node
61 uses: actions/setup-node@v4
62 with:
63 node-version: ${{ matrix.node_version }}
64 cache: 'pnpm'
65
66 - name: Install Dependencies
67 run: pnpm install --frozen-lockfile --prefer-offline
68
69 - name: Unit Tests
70 run: pnpm run test
71
72 - name: Type checks
73 run: pnpm run check:all
74
75 - name: Build
76 run: pnpm run build