Repository navigation
fix(ci): scope packed-consumer check to built packages on PRs - #1830
Merged
Merged
Conversation
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.
What
Scopes the "Packed consumer publication contract" check (
pnpm check:packed-consumers) to the packages the PR CI actually built.Why
On pull requests that only touch packages, the gates job builds just the affected packages and their dependents (
turbo run build --filter='...[origin/main]'), but the packed-consumer check expecteddistoutput for every package. A narrow change (for example a rag-only PR, #1829) therefore failed with missingdistfor unrelated packages (angular, mcp, react-native, solid, statechart, svelte, templates, vue). PRs whose packages have many dependents passed only by coincidence.How
When
run_all=false, the check receives the set of packages that Turbo built and verifies those. Whenrun_all=true, and inrelease.yml(which builds everything), it still checks all packages. The check is not weakened for any package that is actually built: a missingdistfor an affected package still fails.Reuse
This reuses Turbo's own task graph to determine which packages were built and the existing
check:packed-consumersscript. No new dependency.Type of change
RFC / ADR reference
n/a (CI scope fix)
Validation
pnpm test): 25 unit tests for the scoping logic.distdirectories absent, and fails when rag's owndistis missing.