-
Notifications
You must be signed in to change notification settings - Fork 7
56 lines (45 loc) · 1.34 KB
/
Copy pathweb-tests.yml
File metadata and controls
56 lines (45 loc) · 1.34 KB
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
name: Web Tests
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
web-tests:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
# Node backs the vitest step (vitest crashes under Bun's runtime) and any
# node-shebang tooling; 24 is current and runs TypeScript 7 cleanly.
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 24
- name: Install web dependencies
working-directory: web
run: bun install --frozen-lockfile
- name: Compile Paraglide messages
working-directory: web
run: bun run i18n:compile
# svelte-check and eslint run under Bun (faster, and Bun's runtime handles
# the TypeScript 7 API that breaks under older Node). vitest stays on Node.
- name: Run web checks
working-directory: web
run: bun run --bun check
- name: Run web lint
working-directory: web
run: bun run --bun lint
- name: Run web tests
working-directory: web
run: bun run test