Allow runnable lock targets to reuse the `uv` cache
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 70/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- build-system, developer-experience
Direzione di ricerca
L'issue punta al file lock.bzl e alla riga specifica in cui viene impostato --no-cache. Inizia esaminando il file lock.bzl, in particolare la funzione che genera il target eseguibile. Comprendi come il flag viene applicato in modo diverso per le azioni di build rispetto ai target eseguibili. Testa modificando il flag ed eseguendo il target per assicurarti che la cache venga riutilizzata come previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🚀 feature request
Relevant Rules
Description
The runnable targets generated by lock pass --no-cache to uv:
https://github.com/bazel-contrib/rules_python/blob/9cc620ebf92d9afaa1c0535968d82d5a7d7e4522/python/uv/private/lock.bzl#L146
This flag applies to both build actions and runnable targets. As a result, repeated invocations of bazel run //path:requirements.run (in our case via multirun), use temporary caches instead of reusing registry metadata, Git checkouts, and build metadata.
Describe the solution you'd like
Drop the --no-cache flag from .run target but keep it on build actions. This way runnable targets would use the caller's environment and write the lockfile into the workspace, so they could also reuse the cache. Callers could still pass --no-cache or select a cache with UV_CACHE_DIR if they want.
Describe alternatives you've considered
Patching rules_python downstream. I'll open up a PR to show what my patch looks like.
- Lingua principale
- Starlark
- Stelle
- 690
- Fork
- 722
- Merge medio
- 1g 55m
- PR unite (30g)
- 38
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bazel-contrib/rules_python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
bazel-contrib/rules_python#4164 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
bazel-contrib/rules_python#3821 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
bazel-contrib/rules_python#4181 ·
-
Release 2.4.0 Apertatype: release
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
bazel-contrib/rules_python#4175 · 3 commenti ·
-
Release 2.3.4 Apertatype: release
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
bazel-contrib/rules_python#4173 · 2 commenti ·
Tutte le issue di bazel-contrib/rules_python
Issue simili
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
area-Bzlmod team-ExternalDeps type: bug untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
bazelbuild/bazel#31291 · 2 commenti ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
bradcypert/plum#53 ·