CI tsc step still a no-op after #57 fix: solution-style tsconfig makes npx tsc --noEmit typecheck 0 files #58
Labels
No labels
blocked:lint-failed
blocked:needs-decision
blocked:no-changes
bug
feature-request
in-progress
milestone
ops-task
quickfix
security/high
test-coverage
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/chainbound#58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kanban card: t_d3611bde (post-deploy probe)
Summary
Issue #57 ("CI tsc step swallows type errors with '|| true'") was closed and the fix commit
265ebb6removed the|| truefrom.forgejo/workflows/ci.yml. However, the tsc step is still dead code: it never fails, because the repository's roottsconfig.jsonis solution-style ("files": []+referencestotsconfig.app.json/tsconfig.node.json), sonpx tsc --noEmitwithout-ptypechecks an empty program.The issue's stated goal — remove
|| trueso the step actually enforces types — is not met. Type errors are still only caught downstream bynpm run build→tsc -b, exactly as before. The false-sense-of-coverage problem the issue complains about persists.Current state (verified on main, HEAD
df2c1b3).forgejo/workflows/ci.ymlbuild job:Root
tsconfig.json:npx tsc --showConfig -p tsconfig.jsonresolves 0 files.Reproduction steps
Mark/chainbound, checkoutmain(HEADdf2c1b3).echo 'const x: number = "string";' > src/engine/__probe_type_err.tsnpx tsc --noEmitnpx tsc --noEmit(exact CI step)npx tsc --noEmit -p tsconfig.app.jsonnpx tsc -bActual behavior
The CI step
npx tsc --noEmitexits 0 even with a type error insrc/, so CI passes while type errors are silently ignored.|| truewas removed but the step is still a no-op.Expected behavior
The CI tsc step should fail (non-zero exit) when type errors exist in the project, so CI actually enforces types.
Suggested fix
Change the CI step to
npx tsc -b(ornpx tsc --noEmit -p tsconfig.app.json), or drop the step entirely sincebuildalready runstsc -b.Regression note
No successful CI run exists on fix-era commits — post-fix runs on c87b880/31262e9/3f79dd4 were cancelled (superseded); runs on current HEAD were
waitingat probe time. Runnerforgejo-runner-nodedeskis up and executing, so queued runs should pick up. No green-CI confirmation on the fixed config yet.