Task cache: no way to exclude a specific env var from env-enumeration fingerprints — inherited OLDPWD thrashes warm hits
Les mainteneurs répondent en général sous 1 jour
@wan9chi y travaille déjà.
Depuis le 11/8/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
Summary
When a task's config chain enumerates the environment, cooperative tracking records the enumerated env vars into the task-cache fingerprint — including shell bookkeeping like OLDPWD that has no build meaning. OLDPWD changes with whichever directory the shell cd-ed into the repo from, so an otherwise-identical vp run build warm hit thrashes across shells and entry paths.
Repro sketch
Laravel app built through laravel-vite-plugin (its config chain reads .env and enumerates process.env), driven by vp run build:
vp run --filter ./apps-web/<app> buildtwice — the second run is a full cache hit.- Re-enter the repo from a different parent directory (so the shell exports a different
OLDPWD) and run the same command — cache miss, with the env fingerprint as the only change.
Observed on vite-plus 0.2.2 and unchanged as of 0.2.7 (our pinned version). The v0.2.8 release notes list no related change.
What we tried
We could not find a vp-side config that excludes a specific env var from an enumeration-sourced record: untrackedEnv and negated env patterns (env: ['!OLDPWD']) did not suppress it in our testing (investigated during the same caching work as #1894 / #1774).
Workaround
Our monorepo CLI bootstrap does delete process.env.OLDPWD before spawning any vp subprocess. It works, but it only protects invocations that go through the wrapper — plain vp calls still thrash.
Ask
A first-class way to exclude named env vars from cooperative-tracking fingerprints, the way input globs filter file inputs — e.g. untrackedEnv: ['OLDPWD'] (or env: ['!OLDPWD']) applying to enumeration-sourced records, not just direct reads. A reasonable complement would be default-excluding well-known shell bookkeeping vars (OLDPWD, _, SHLVL) that can never carry build meaning.
- Langage dominant
- Rust
- Étoiles
- 6.5k
- Forks
- 297
- Merge moyen
- 1 j 1 h
- PR mergées (30 j)
- 249
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/vite-plus
-
triage: not actionable
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
voidzero-dev/vite-plus#3296 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
voidzero-dev/vite-plus#3235 ·
Les mainteneurs répondent en général sous 1 jour
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and laterPeut-être pris @kshanxs l’a pris il y a 11 jours. Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
voidzero-dev/vite-plus#3219 · 2 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
voidzero-dev/vite-plus#2882 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
vp staged reports a saved recovery patch that is missing after restore failure on WindowsPeut-être pris @voidzero-bot l’a pris aujourd’hui. Ouverte- P3: minor bug triage: fix verified
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
voidzero-dev/vite-plus#3356 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/vite-plus
Issues similaires
-
A match arm above the largest i64 is compared as 0Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
DioxusLabs/dioxus#6063 ·
Les mainteneurs répondent en général sous 1 jour
-
`nsh-core` fails to compile when taffy's default `calc` feature is enabled elsewhere in the graphOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
longbridge/nsh#966 ·
Les mainteneurs répondent en général sous 1 jour
-
Windows docs: pin a tested ConPTY version for Kitty graphics; 1.25.260930003 corrupts large uploadsOuverte
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
raphamorim/rio#2021 ·
Les mainteneurs répondent en général sous 1 jour
-
Docs: status text is out of dateOuvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
non7top/sigstore-shell#38 ·
Les mainteneurs répondent en général sous 1 jour