Skip to content

Commit 6026cfc

Browse files
committed
parser workflow
1 parent 01ca638 commit 6026cfc

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

.github/workflows/ci.yml

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,132 @@ jobs:
124124
- name: Run Tests 🔍
125125
run: pnpm run test
126126
working-directory: ${{ matrix.package.path }}
127+
128+
build-parser:
129+
name: Build Parser Package 📦
130+
needs: build-wasm
131+
runs-on: ubuntu-latest
132+
steps:
133+
- name: Checkout Repository 📥
134+
uses: actions/checkout@v4
135+
136+
- name: Setup Node.js 🌐
137+
uses: actions/setup-node@v4
138+
with:
139+
node-version: '20.x'
140+
141+
- name: Setup pnpm 📦
142+
uses: pnpm/action-setup@v2
143+
with:
144+
version: 8.15.1
145+
146+
- name: Get pnpm store directory 📁
147+
shell: bash
148+
run: |
149+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
150+
151+
- name: Setup pnpm cache 🗄️
152+
uses: actions/cache@v3
153+
with:
154+
path: ${{ env.STORE_PATH }}
155+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
156+
restore-keys: |
157+
${{ runner.os }}-pnpm-store-
158+
159+
- name: Install Dependencies 🧶
160+
run: pnpm install
161+
162+
- name: Download v15 WASM Artifacts 📥
163+
uses: actions/download-artifact@v4
164+
with:
165+
name: wasm-artifacts-v15
166+
path: versions/15/wasm/
167+
168+
- name: Download v16 WASM Artifacts 📥
169+
uses: actions/download-artifact@v4
170+
with:
171+
name: wasm-artifacts-v16
172+
path: versions/16/wasm/
173+
174+
- name: Download v17 WASM Artifacts 📥
175+
uses: actions/download-artifact@v4
176+
with:
177+
name: wasm-artifacts-v17
178+
path: versions/17/wasm/
179+
180+
- name: Build Parser 🏗
181+
run: pnpm run build
182+
working-directory: parser
183+
184+
- name: Upload Parser Artifacts 📦
185+
uses: actions/upload-artifact@v4
186+
with:
187+
name: parser-artifacts
188+
path: parser/wasm/
189+
retention-days: 1
190+
191+
test-parser:
192+
name: Test Parser on ${{ matrix.os }} ${{ matrix.os == 'ubuntu-latest' && '🐧' || matrix.os == 'macos-latest' && '🍎' || '🪟' }}
193+
needs: build-parser
194+
strategy:
195+
matrix:
196+
os: [ubuntu-latest, macos-latest, windows-latest]
197+
fail-fast: false
198+
runs-on: ${{ matrix.os }}
199+
steps:
200+
- name: Checkout Repository 📥
201+
uses: actions/checkout@v4
202+
203+
- name: Setup Node.js 🌐
204+
uses: actions/setup-node@v4
205+
with:
206+
node-version: '20.x'
207+
208+
- name: Setup pnpm 📦
209+
uses: pnpm/action-setup@v2
210+
with:
211+
version: 8.15.1
212+
213+
- name: Get pnpm store directory 📁
214+
shell: bash
215+
run: |
216+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
217+
218+
- name: Setup pnpm cache 🗄️
219+
uses: actions/cache@v3
220+
with:
221+
path: ${{ env.STORE_PATH }}
222+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
223+
restore-keys: |
224+
${{ runner.os }}-pnpm-store-
225+
226+
- name: Install Dependencies 🧶
227+
run: pnpm install
228+
229+
- name: Download v15 WASM Artifacts 📥
230+
uses: actions/download-artifact@v4
231+
with:
232+
name: wasm-artifacts-v15
233+
path: versions/15/wasm/
234+
235+
- name: Download v16 WASM Artifacts 📥
236+
uses: actions/download-artifact@v4
237+
with:
238+
name: wasm-artifacts-v16
239+
path: versions/16/wasm/
240+
241+
- name: Download v17 WASM Artifacts 📥
242+
uses: actions/download-artifact@v4
243+
with:
244+
name: wasm-artifacts-v17
245+
path: versions/17/wasm/
246+
247+
- name: Download Parser Artifacts 📥
248+
uses: actions/download-artifact@v4
249+
with:
250+
name: parser-artifacts
251+
path: parser/wasm/
252+
253+
- name: Run Parser Tests 🔍
254+
run: pnpm run test
255+
working-directory: parser

0 commit comments

Comments
 (0)