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
fix: ensure cache is done writing before exit (#6603)
### Description
This PR contains intertwined changes:
- Waiting on all cache writes to finish before we exit the run. We
leverage the signal handler here so we can make sure we wait regardless
of how/why the run exits.
- Printing errors from artifact upload failures. This differs from Go
where we [throw generated errors
away](https://github.com/vercel/turbo/blob/main/cli/internal/cache/async_cache.go#L79C12-L79C12)
(I'm not sure this is desired since we do [format these errors for human
consumption](https://github.com/vercel/turbo/blob/main/cli/internal/client/cache.go#L70))
- Correctly deserialize Vercel API errors. As per the
[docs](https://vercel.com/docs/rest-api/errors) there's a containing
object with an `error` field that has the information.
- Pass team information when saving artifacts. This matches all of the
other artifact api calls.
Each commit is reviewable on it's own.
### Testing Instructions
The `turbo` cli is a great candidate for these. Make sure you're logged
in and linked to Vercel team.
For testing that we wait until upload finishes:
```
# Ensure there's no error printed at the end of the run and the "Finishing writing to cache" message appears while we upload the large debug binary
[0 olszewski@chriss-mbp] /Users/olszewski/code/vercel/turborepo $ turbo_dev build --filter=cli --force
...
...Finishing writing to cache...
# Should be a FULL TURBO due to the previous command
[0 olszewski@chriss-mbp] /Users/olszewski/code/vercel/turborepo $ turbo_dev build --filter=cli --remote-only --remote-cache-timeout=120
```
Closes TURBO-1770
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>
0 commit comments