Skip to content

feat(run): add --dry-run to preview cache hits - #792

Open
lifeiscontent wants to merge 3 commits into
voidzero-dev:mainfrom
lifeiscontent:feat/run-dry-run
Open

lifeiscontent wants to merge 3 commits into
voidzero-dev:mainfrom
lifeiscontent:feat/run-dry-run

Conversation

@lifeiscontent

Copy link
Copy Markdown
Contributor

Motivation

Closes #791. There's no way to see which tasks a run would take from the cache without running them.

Changes

  • vp run --dry-run <task> plans the run as usual and prints, per task, a cache hit, a miss with the summary's reason, cache disabled, or unknown when something it runs after isn't a hit.
  • Nothing runs and nothing is written. The cache database is opened read-only, and the last run summary used by --last-details is left alone. The remote cache isn't queried.
  • Recording the execution key on a hit moved from try_hit_local into try_hit, so normal runs behave the same and the dry run can share the lookup.
  • The miss reason wording moved into a Display impl so the summary and the dry run use the same text.

`vp run --dry-run <task>` plans the run as usual and then reports, for each
task, whether the local cache would hit, why it would miss, or that caching
is disabled. A task that runs after something that isn't a hit is reported
as unknown, since that earlier task could change its inputs.

Nothing runs and nothing is written: the cache database is opened read-only
(or skipped if it doesn't exist), the local lookup no longer records the
execution key itself, and the last run summary is left alone. The remote
cache is not queried.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Preview cache hits without running tasks

1 participant