-
Notifications
You must be signed in to change notification settings - Fork 34
134 lines (104 loc) · 2.93 KB
/
validate_pr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: Run Checks on PRs
on:
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
setup:
name: Setup Dependencies
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20]
steps:
- uses: actions/checkout@v4
- name: Set up Node.js ${{ matrix.node-version }}
uses: ./.github/actions/cache-restore
id: cache-node-modules
with:
node-version: ${{ matrix.node-version }}
- name: Enable Corepack
run: corepack enable
- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --immutable
check_format:
name: Validate formating with Prettier
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Node.js
uses: ./.github/actions/cache-restore
- name: Enable Corepack
run: corepack enable
- name: Format source code
run: yarn test:format
check_types:
name: Validate types with TypeScript
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Node.js
uses: ./.github/actions/cache-restore
- name: Enable Corepack
run: corepack enable
- name: Check types
run: yarn test:types
check_lint:
name: Validate linting with ES Lint
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Node.js
uses: ./.github/actions/cache-restore
- name: Enable Corepack
run: corepack enable
- name: Check Linting
run: yarn test:lint
check_gatsby_exports:
name: Validate Gatsby exports
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Node.js
uses: ./.github/actions/cache-restore
- name: Enable Corepack
run: corepack enable
- name: Build packages
run: yarn build
- name: Check exports
run: yarn test:exports
run-tests:
name: Run package tests on (Node.js v${{ matrix.node }})
runs-on: ubuntu-latest
needs: [setup]
env:
NODE_OPTIONS: --max-old-space-size=6144
strategy:
matrix:
node: [20]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Node.js v${{ matrix.node }}
uses: ./.github/actions/cache-restore
with:
node-version: ${{ matrix.node }}
- name: Enable Corepack
run: corepack enable
- name: Build packages
run: yarn build
- name: Set up S3 Server
uses: ./.github/actions/s3-test-server
- name: Execute tests
run: yarn test