ci: no more pre-push hook; typecheck in five shards on the runners - #130
Merged
Conversation
The changesets action pushes the version commit and the tag; each push runs the husky pre-push hook, a typecheck of all 37 packages, for a commit that only bumps versions. The runner killed it mid-run and the release PR was never regenerated. HUSKY=0 for that job: hooks are for developers, and this workflow's inputs were typechecked on the PR that produced them. Claude-Session: https://claude.ai/code/session_014XwJPDhq1ahcm3rd454WzQ
The husky pre-push hook typechecked all 37 packages on every push. It was too heavy to live with on a laptop, and on a 4-vCPU runner it was killed mid-run and took a release with it. Gone, with husky itself. The typecheck workflow now runs the workspace in five shards, one job each, assigned by sorted package name so a failure names the package. The runners typecheck; the laptop does not. Claude-Session: https://claude.ai/code/session_014XwJPDhq1ahcm3rd454WzQ
filipeforattini
enabled auto-merge (squash)
September 5, 2026 14:30
Branch protection requires a status check called "typecheck"; the matrix renamed the jobs to "typecheck (n/5)", so a green PR stayed blocked. A gate job with the old name now depends on every shard and passes only when they all did. Claude-Session: https://claude.ai/code/session_014XwJPDhq1ahcm3rd454WzQ
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.
The husky pre-push hook typechecked all 37 packages on every push. Too heavy to live with on a laptop — that was already decided — and on a 4-vCPU runner it was killed mid-run inside the changesets action's
git push, which is how the 0.17.0 release PR failed to regenerate.What changes
.husky/is gone, and so are thepreparescript and thehuskydependency. No git hooks run anywhere.typecheck.ymlruns the workspace in five shards, one job each (script/typecheck-shard.ts <index> <total>). Assignment is by sorted package name, deduplicated across overlapping workspace globs, so it is stable across runs and a failure names the package, not the shard. 32 packages carry a typecheck script; each shard gets six or seven.HUSKY: 0workaround from the first version of this PR is not needed once the hook does not exist.https://claude.ai/code/session_014XwJPDhq1ahcm3rd454WzQ