Register and check rules for using, installing, testing and relocking from uv.lock
Los mantenedores suelen responder en 3 días
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start with rules/registry.toml and inspect the rules added by #3995 and #3994, which this proposal builds on. Trace how registry rules are mechanically checked across workflows, scripts, Makefiles, Dockerfiles, and Modal image definitions. Done means all four rules are registered and checked, with documented exception requirements for installs that cannot yet use the lock.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
The Cloud Run image installs exactly the versions in uv.lock (uv sync --frozen), but nothing checks that the rest of the repository does the same. A workflow step, script, Makefile target or Dockerfile can still install with pip or an unfrozen uv run, and tests can run against versions production does not run. Nothing checks that uv.lock matches pyproject.toml in pull request CI, or that a scheduled relock exists.
Proposal
Register four mechanically checked rules in rules/registry.toml:
- We use uv.lock: every project directory has a committed
uv.lock, and pull request CI runsuv lock --check. - We install from uv.lock: every install in workflows, the scripts they run, Makefiles, Dockerfiles and Modal image definitions uses
uv sync --frozen/uv run --frozen. - We test from uv.lock: every test command in CI runs through
uv run --frozen. - We relock on a schedule: a scheduled workflow relocks every
uv.lockwith upgrades and opens or updates a pull request.
An install that cannot use the lock yet is a registered exception that names one site, gives a reason, and has a removal condition, or a review date with a tracking issue. A command-line tool pinned with == outside the project may be registered as a pinned-tool.
Builds on #3995 (tests install from uv.lock) and #3994 (daily relock workflow).
- Lenguaje dominante
- Python
- Estrellas
- 18
- Forks
- 33
- Merge medio
- 2 d 18 h
- PR fusionados (30 d)
- 36
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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 PolicyEngine/policyengine-api
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
PolicyEngine/policyengine-api#3911 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
PolicyEngine/policyengine-api#3910 ·
Los mantenedores suelen responder en 3 días
-
Remove the v1 user routes and keep complete simulation and report results finalPosiblemente ocupada @MaxGhenis la tomó hoy. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
PolicyEngine/policyengine-api#4028 ·
Los mantenedores suelen responder en 3 días
-
Store the metadata v3 reads in the v2 catalog, from PolicyEngine.py's public recordsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
PolicyEngine/policyengine-api#4022 ·
Los mantenedores suelen responder en 3 días
-
Publish v2 catalog regions from the Public API's own region reference filesPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
PolicyEngine/policyengine-api#4019 ·
Los mantenedores suelen responder en 3 días
Todos los issues de PolicyEngine/policyengine-api
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fossasia/visdom-dev#77 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aws-cloudformation/cfn-lint#4890 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
volcengine/OpenViking#6521 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
AstrBotDevs/AstrBot#10720 ·
Los mantenedores suelen responder en 1 día