You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We'd love a clarification on how Turborepo's remote cache interacts with incremental build artifacts like .tsbuildinfo during a cache miss in CI.
Our Setup:
A pnpm monorepo with TypeScript Project References (tsc -b).
Remote Caching is enabled.
tsc tasks are configured with dependsOn: ["^build"] and "outputs": ["*.tsbuildinfo"].
Our Question:
Consider a CI run on a clean environment with the following conditions:
A shared library (@repo/utils) has changed.
An application (@repo/app) that depends on @repo/utils has not changed.
This scenario correctly results in a cache miss for the @repo/app tsc task.
Our key question is about what happens next. Our expectation is that before running the task, Turborepo restores the previous .tsbuildinfo file for @repo/app from the remote cache (e.g., from the last successful main branch build).
This would allow tsc -b to then perform a very fast, incremental check instead of a full one.
Can you confirm if this is the intended behavior? Or does a cache miss for a task always mean it must run from scratch, without any of its previous artifacts being restored?
Additionally, if the current behavior is that .tsbuildinfo is not restored on a cache miss, we would like to suggest a feature.
It would be incredibly powerful to have an option to flag certain outputs to always be restored from a relevant cache (like main's) before task execution, even on a cache miss.
We believe this would be a game-changer for fully leveraging incremental tools like tsc -b in CI.
Thanks for the great work and for any clarification you can provide!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Hello Turborepo team,
We'd love a clarification on how Turborepo's remote cache interacts with incremental build artifacts like
.tsbuildinfoduring a cache miss in CI.Our Setup:
dependsOn: ["^build"]and"outputs": ["*.tsbuildinfo"].Our Question:
Consider a CI run on a clean environment with the following conditions:
A shared library (@repo/utils) has changed.
An application (@repo/app) that depends on @repo/utils has not changed.
This scenario correctly results in a cache miss for the @repo/app tsc task.
Our key question is about what happens next. Our expectation is that before running the task, Turborepo restores the previous .tsbuildinfo file for @repo/app from the remote cache (e.g., from the last successful main branch build).
This would allow tsc -b to then perform a very fast, incremental check instead of a full one.
Can you confirm if this is the intended behavior? Or does a cache miss for a task always mean it must run from scratch, without any of its previous artifacts being restored?
Additionally, if the current behavior is that
.tsbuildinfois not restored on a cache miss, we would like to suggest a feature.It would be incredibly powerful to have an option to flag certain
outputsto always be restored from a relevant cache (likemain's) before task execution, even on a cache miss.We believe this would be a game-changer for fully leveraging incremental tools like
tsc -bin CI.Thanks for the great work and for any clarification you can provide!
Additional information
No response
Example
No response
Beta Was this translation helpful? Give feedback.
All reactions