Register and check rules for using, installing, testing and relocking from uv.lock
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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).
- Lingua principale
- Python
- Stelle
- 18
- Fork
- 33
- Merge medio
- 2g 18h
- PR unite (30g)
- 36
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi 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 PolicyEngine/policyengine-api
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
PolicyEngine/policyengine-api#3911 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
PolicyEngine/policyengine-api#3910 ·
I maintainer di solito rispondono entro 3 giorni
-
Remove the unauthenticated v2 household listForse già presa @MaxGhenis l’ha presa 1 giorno fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
PolicyEngine/policyengine-api#4031 ·
I maintainer di solito rispondono entro 3 giorni
-
Remove the v1 user routes and keep complete simulation and report results finalForse già presa @MaxGhenis l’ha presa 2 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
PolicyEngine/policyengine-api#4028 ·
I maintainer di solito rispondono entro 3 giorni
-
Store the metadata v3 reads in the v2 catalog, from PolicyEngine.py's public recordsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
PolicyEngine/policyengine-api#4022 ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di PolicyEngine/policyengine-api
Issue simili
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkForse già presa @ocelotl l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
open-telemetry/opentelemetry-python#5825 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cuga-project/cuga-agent#1020 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
microsoft/playwright#43640 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno