mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-06-27 19:05:48 +08:00
The previous `vue-tsc --noEmit` step was a no-op: the root tsconfig uses `files: []` with project references, so without `--build` it checks zero files and always passes. Switch to `vue-tsc --build` (new `yarn typecheck` script) and make the job blocking. Fix the one error this surfaced: UsageEventDocument extended mongoose.Document, whose `model` method collides with the `model: string` field. Use the recommended pattern — a plain attrs interface passed to the Schema/Model generics (hydrated docs still expose Document methods). Typecheck is now clean. Bump actions/checkout@v5 and actions/setup-node@v5 to silence the Node.js 20 runtime deprecation (forced to Node 24 from 2026-06-16). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
48 lines
860 B
YAML
48 lines
860 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
name: Test suite
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Enable Corepack
|
|
run: corepack enable
|
|
|
|
- uses: actions/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Run tests
|
|
run: yarn test
|
|
|
|
typecheck:
|
|
name: Typecheck
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Enable Corepack
|
|
run: corepack enable
|
|
|
|
- uses: actions/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
cache: yarn
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Typecheck (vue-tsc --build)
|
|
run: yarn typecheck
|