Repository navigation
ci(root): stop the test step rebuilding under running suites #668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -164,9 +164,20 @@ jobs: | |
| # | ||
| # ui / storage-s3 / storage-uploadthing have no test files yet; listed so | ||
| # they gate automatically the moment they gain one. | ||
| # `--only` because the Build step above already built every package in this | ||
| # filter list. Without it turbo re-materialises each test's build | ||
| # dependencies from cache — 11 packages' `dist/` rewritten while sibling | ||
| # suites are already collecting against them. A test that resolves a | ||
| # dependency's entry mid-rewrite fails with `Cannot find module | ||
| # '.../dist/chunk-<hash>.mjs'` in a package the change never touched, and | ||
| # which package loses the race varies run to run. | ||
| # | ||
| # Safe because the filter list is a subset of `./packages/*`, which the | ||
| # Build step covers. A package added here but not built above would fail | ||
| # loudly at collection rather than silently skip. | ||
| - name: Test | ||
| run: >- | ||
| pnpm turbo test | ||
| pnpm turbo test --only | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When Useful? React with 👍 / 👎. |
||
| --filter=@nextlyhq/blocks-engine | ||
| --filter=@nextlyhq/blocks-react | ||
| --filter=@nextlyhq/builder | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a PR changes only a workspace dependency, this can replay a stale result for an unchanged dependent package:
turbo.jsonckeepstestcached, butpnpm turbo test --only --filter=@nextlyhq/plugin-page-builder --dry-run=jsonreportsdependencies: []and inputs only from that package, whereas the command without--onlyincludes@nextlyhq/blocks-react#build,@nextlyhq/blocks-engine#build, and the other dependency hashes. The checked-in Turbo 2.9.18 help confirms that--only“does not execute parent tasks.” Because the workflow restores Turbo entries from prior SHAs, a blocks-react change can therefore leave plugin-page-builder's dependency-importing suites cached and unexecuted despite the fresh Build step. Force the selected tests to execute (for example with--force) or otherwise retain dependency content in their cache keys while avoiding artifact replay.Useful? React with 👍 / 👎.