Conversation
The only workflow ran on pushes to main and only ever invoked `npm run build` — the 180 tests had never run anywhere but a contributor's machine, and pull requests reported no checks at all. Adds ci.yml: npm test plus npm run build (which is `tsc --noEmit && vite build`, so it type-checks too) on every branch push, and on pull requests from forks. A pull request from a branch in this repo is skipped, since the push event already covered that commit; without the guard every such commit would be checked twice. deploy.yml now runs the suite before building, so main cannot publish a build whose tests fail. Deployment stays confined to deploy.yml and to main — nothing in ci.yml publishes, and no branch push can reach Pages.
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.
Closes the gap noted when #5 was merged: the 180 tests had never run anywhere but a contributor's machine, and pull requests reported no checks at all. The only workflow triggered on pushes to
mainand only ever invokednpm run build.ci.yml(new)npm testplusnpm run build— which istsc --noEmit && vite build, so it type-checks as well — on:branches: ['**']), so a branch is verified before it ever reaches a PRA PR from a branch in this repo is skipped by the job's
if, because the push event already checked that commit; without the guard every such commit would be checked twice. Same-repo push runs still surface as checks on the PR, so nothing is lost.Concurrency is keyed per ref with
cancel-in-progress, so pushing again supersedes an in-flight check of the same branch.deploy.ymlNow runs the suite before building, so
maincan't publish a build whose tests fail.Deployment is unchanged and still confined to
deploy.ymland tomain. Nothing inci.ymlpublishes, and no branch push can reach Pages — worth stating explicitly, since adding branch triggers to the existing workflow instead would have made every branch push deploy the site.Verification
This branch's own push produced run 30350856648 — success, with
25 passed (25)files /180 passed (180)tests andtsc --noEmit && vite buildin the log. That is the first time the suite has executed on GitHub's runners.Note, not addressed here
actions/deploy-pages@v4logs a Node 20 deprecation warning and is being force-run on Node 24. Harmless today, but it will need a version bump; out of scope for this change.