ci: standardize uv version selection across workflows

Aperta
#1,094 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
38/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github-actions, python
Ambito
ci-cd

Direzione di ricerca

Read the named workflows (ci.yml, health-checks.yml, check-colab-notebooks.yml, build-notebooks.yml, docs-preview.yml, build-fern-docs.yml, publish-fern-devnotes.yml, and dependency-security.yml) alongside the workspace and e2e [tool.uv].required-version declarations. First inventory their current uv settings, then choose and document a single version policy, including Fern working directories. Done when the settings follow that policy and the listed lockfile, audit, exporter, test, and docs checks pass without publishing docs.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

task
Priority Level

Low

Task Summary

Standardize uv version selection across GitHub Actions workflows and project configuration so updates follow one clear policy rather than a mix of floating and pinned versions.

Technical Details & Implementation Plan
  • Inventory all astral-sh/setup-uv steps and [tool.uv].required-version declarations, including the workspace and e2e project.
  • Choose and document one repository-wide version policy and update mechanism. One option is an exact authoritative uv version with setup-uv reading that declaration instead of repeating version: in every job; decide whether the project requirement should remain a compatibility minimum or also serve as the CI pin.
  • Apply the chosen convention consistently across test, health-check, Colab, notebook, documentation, and dependency-security workflows.
  • Handle Fern workflows that check out repositories into subdirectories: configure setup-uv's working-directory to locate the intended pyproject.toml instead of relying on the default checkout path.
  • Preserve independent Python selection for inline scripts; do not introduce an unnecessary UV_PYTHON override as part of uv version selection.

Acceptance criteria:

  • CI uv version selection and project compatibility requirements have a documented, consistent relationship.
  • Redundant per-job pins or floating-version settings are removed or made consistent with the selected policy.
  • Setup resolves the intended uv version for both root and Fern subdirectory checkouts.
  • Lockfile checks, dependency audits, the constraints exporter, and representative test/docs validation pass using the selected version. Validate docs without publishing them.
  • The process for bumping uv does not require independently updating scattered workflow values.
Investigation / Context

Follow-up to #1093 and Aaron's review thread, including the agreement to handle this separately.

At review time, the repository mixed setup-uv version: "latest" and version: "0.13.4", while project configuration declared required-version = ">=0.13.4". Omitting setup-uv's version while retaining that range selects a matching version; it does not reproduce an exact 0.13.4 pin. Treat the policy choice as explicit rather than assuming removal of workflow pins preserves existing behavior.

Relevant workflows include ci.yml, health-checks.yml, check-colab-notebooks.yml, build-notebooks.yml, docs-preview.yml, build-fern-docs.yml, publish-fern-devnotes.yml, and dependency-security.yml.

Dependencies

No blocker for #1093. Keep this repository-wide cleanup separate from its dependency security changes.

Lingua principale
Python
Stelle
2.4k
Fork
241
Merge medio
22h 24m
PR unite (30g)
91

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA-NeMo/DataDesigner

Tutte le issue di NVIDIA-NeMo/DataDesigner

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.