NVIDIA / NVIDIA/cuda-python

CI: Refactor test pipelines to cover bare VM and container environments

Aperta
#1,369 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

blocked CI/CD feature P0
Lingua principale
Cython
Stelle
3.4k
Fork
329
Merge medio
1g 23h
PR unite (30g)
116

Descrizione

Using #1311 as the playground, as of commit 4011bb8e54b57b6138ce8da809bca606be4b9b21 and CI logs at https://github.com/NVIDIA/cuda-python/actions/runs/19951181011 I verified that nv-gha-runners no longer makes containers as a hard requirement for running jobs on GPU runners. We can now run GPU jobs just fine on the bare, ephemeral VM. This would help us accelerate job start time.

The current test blocker is #1307. We recently added xfail to tests we did not think runnable in the CI. But those tests did run in the bare VM setup, and turned xfail to xpass (hence failing, because we set the strict mode). This can be easily fixed.

In the internal discussion we concluded that we don't need to test against a set of containers. But it is nice to test both container and containerless (i.e. bare VM) environments. We currently have two test workflows:

  • test-wheel-linux.yml: Needed because Linux runners required a container (no longer needed)
  • test-wheel-windows.yml: Needed because Windows runners do not require any container

I suggest we rename and re-purposes the two workflows as follows:

  • test-wheel-container.yml: This runs all existing Linux tests
  • test-wheel-containerless.yml: This runs all existing Linux + Windows tests
    • Piggybacking on this refactoring we can probably get rid of the Powershell usage in the workflow, since our CI relies heavily on Bash and Git Bash.

Guida per i contributori

Apri la guida per i contributori

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.

Direzione di ricerca

Inizia con .github/workflows/test-wheel-linux.yml e .github/workflows/test-wheel-windows.yml, usando la issue #1307 e l’esecuzione CI al commit 4011bb8e54b57b6138ce8da809bca606be4b9b21 come contesto. Esegui il refactoring trasformandoli in workflow con e senza container, mantenendo la copertura di test Linux e Windows esistente e risolvendo i failure xfail-to-xpass. Verifica sia gli ambienti bare-VM sia quelli containerizzati in GitHub Actions; la rimozione di PowerShell è suggerita come parte del refactoring.

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

Valutazione

Stack tecnologico
bash, github-actions, powershell
Ambito
ci-cd, devops
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.