web: the app's type-check leaves the unit tests out; CI checks them separately
CI & Build / Build now, or wait for Android? (push) Successful in 4s
Android / Build, or is the channel already serving this? (push) Successful in 4s
Android / Kotlin + Rust (APK) (push) Skipped
CI & Build / Python lint (push) Successful in 2s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 3s
CI & Build / Web typecheck and unit tests (push) Successful in 10s
CI & Build / Python tests (push) Successful in 19s
CI & Build / integration (push) Successful in 53s
CI & Build / Build & push image (push) Successful in 1m13s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Successful in 3m19s
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 4m11s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 4m36s
Desktop (Tauri) / Update manifest (push) Successful in 6s
CI & Build / Build now, or wait for Android? (push) Successful in 4s
Android / Build, or is the channel already serving this? (push) Successful in 4s
Android / Kotlin + Rust (APK) (push) Skipped
CI & Build / Python lint (push) Successful in 2s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 3s
CI & Build / Web typecheck and unit tests (push) Successful in 10s
CI & Build / Python tests (push) Successful in 19s
CI & Build / integration (push) Successful in 53s
CI & Build / Build & push image (push) Successful in 1m13s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Successful in 3m19s
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 4m11s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 4m36s
Desktop (Tauri) / Update manifest (push) Successful in 6s
Run 8478 passed every test lane and then failed `Build & push image`. The Dockerfile's frontend stage copies only frontend/, and `npm run build` type-checks with tsconfig.json, which covered grammar.test.ts. Its import of ../core/testdata/grammar.json doesn't exist inside that stage. Nothing was published: the build is the publish and it stopped. tsconfig.json now excludes `*.test.ts`. The new tsconfig.test.json extends it with the tests included, and ci.yml's typecheck lane runs that one, so the tests are still type-checked before anything ships. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -160,8 +160,10 @@ jobs:
|
||||
run: npm ci
|
||||
working-directory: frontend
|
||||
|
||||
# tsconfig.test.json, not the default: the default leaves the unit tests out
|
||||
# so the Docker build (which has only frontend/) can type-check the app.
|
||||
- name: Type check
|
||||
run: npx vue-tsc --noEmit
|
||||
run: npx vue-tsc --noEmit -p tsconfig.test.json
|
||||
working-directory: frontend
|
||||
|
||||
- name: Unit tests
|
||||
|
||||
@@ -15,5 +15,6 @@
|
||||
"noImplicitReturns": true,
|
||||
"types": []
|
||||
},
|
||||
"include": ["src"]
|
||||
"include": ["src"],
|
||||
"exclude": ["src/**/*.test.ts"]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
// The app's config plus its unit tests. tsconfig.json leaves the tests out because
|
||||
// the production build type-checks in a Docker stage that copies only frontend/,
|
||||
// and grammar.test.ts reads ../core/testdata, which is not there (run 8478).
|
||||
// CI's typecheck lane runs THIS file, so the tests are still type-checked.
|
||||
"extends": "./tsconfig.json",
|
||||
"include": ["src"],
|
||||
"exclude": []
|
||||
}
|
||||
Reference in New Issue
Block a user