Skip to content

Commit 5252cd8

Browse files
authored
ci: add a weekly svelte canary (#424)
Runs the parser shim compare, unit tests, and the differential fuzzer against the newest svelte@latest (ahead of the lockfile pin) weekly and on manual dispatch, so a release that adds template syntax or AST fields surfaces here before users hit it. Targets latest, not next: svelte ships new syntax in minors and the npm next dist-tag is stale pre-5.0. Never blocks PRs.
1 parent 09cba4c commit 5252cd8

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: svelte canary
2+
3+
# Early warning for the hand-rolled parser (src/template-parse/): svelte
4+
# ships new template syntax in minor releases (<svelte:boundary> in 5.3,
5+
# {@attach} in 5.29), so this runs the shim compare, unit tests, and the
6+
# differential fuzzer against the newest svelte@latest, ahead of the
7+
# lockfile pin. The npm `next` dist-tag is stale (pre-5.0), so `latest`
8+
# is the real frontier. Scheduled and manual only; never blocks PRs.
9+
10+
on:
11+
schedule:
12+
# Mondays 06:00 UTC
13+
- cron: "0 6 * * 1"
14+
workflow_dispatch:
15+
16+
jobs:
17+
canary:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
22+
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
23+
with:
24+
bun-version-file: .bun-version
25+
26+
- name: Install dependencies
27+
run: bun ci
28+
29+
- name: Upgrade to the newest svelte
30+
run: |
31+
bun add --dev svelte@latest
32+
echo "svelte version:"
33+
grep '"version"' node_modules/svelte/package.json
34+
35+
- name: Parser shim compare
36+
run: bun test svelte-template-parse-shim
37+
38+
- name: Full unit tests
39+
run: bun run test
40+
41+
- name: Differential fuzz
42+
run: bun run fuzz --iterations 300

0 commit comments

Comments
 (0)