Allow runnable lock targets to reuse the `uv` cache
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 70/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
Línea de trabajo
El issue apunta al archivo lock.bzl y a la línea específica donde se establece --no-cache. Comience examinando el archivo lock.bzl, en particular la función que genera el objetivo ejecutable. Comprenda cómo se aplica la bandera de manera diferente para las acciones de compilación frente a los objetivos ejecutables. Pruebe modificando la bandera y ejecutando el objetivo para asegurarse de que la caché se reutiliza según lo esperado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
🚀 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.
- Lenguaje dominante
- Starlark
- Estrellas
- 690
- Forks
- 722
- Merge medio
- 1 d 55 min
- PR fusionados (30 d)
- 38
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bazel-contrib/rules_python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bazel-contrib/rules_python#4164 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bazel-contrib/rules_python#3821 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
bazel-contrib/rules_python#4181 ·
-
Release 2.4.0 Abiertotype: release
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
bazel-contrib/rules_python#4175 · 3 comentarios ·
-
Release 2.3.4 Abiertotype: release
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
bazel-contrib/rules_python#4173 · 2 comentarios ·
Todos los issues de bazel-contrib/rules_python
Issues similares
-
nix: vendorHash is outdated Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
typelevel/sbt-typelevel#929 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
openSUSE/python-rpm-macros#219 ·
-
HMR stops working Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Qiskit/mcp-servers#221 ·