ci: build what we ship, not just what type-checks - #311
Merged
Conversation
typecheck runs tsc with noEmit:true, so the emit that build:bot actually ships was never exercised — emit can fail where checking passes (output collisions, rootDir violations, decorator metadata). build:landing was not run at all; only its unit tests were. build:all covers backend emit + landing + frontend, and the frontend build this step already did, so it folds into the existing quality job rather than paying another npm ci for a separate one. Adds ~7s.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to the CI check after #309/#310: the pipeline never built the backend or the landing.
npm run typecheckistscwithnoEmit: true— it checks types but produces nothing. The command that actually ships,build:bot, istsc --noEmit false. Emit can fail where checking passes: output collisions ("would overwrite input file"),rootDirviolations, decorator metadata problems.build:landingwasn't run at all — only its unit tests inscripts/landing/*.test.tswere.build:allcovers backend emit + landing + frontend. Since it already includes the frontend build that step was doing, it replaces that line in the existingqualityjob rather than adding a separate one — a new job would pay anothernpm cicold start for no extra coverage.Costs ~7s locally (
build:allruns in 6.9s wall).No new untrusted input in the workflow; it's a static
run:line.