NVIDIA / NVIDIA/cuda-python

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

Open
#1,369 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

blocked CI/CD feature P0
Dominant language
Cython
Stars
3.4k
Forks
329
Avg merge
1d 23h
Merged PRs (30d)
116

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with .github/workflows/test-wheel-linux.yml and .github/workflows/test-wheel-windows.yml, using issue #1307 and the CI run at commit 4011bb8e54b57b6138ce8da809bca606be4b9b21 as context. Refactor them into container and containerless workflows, preserving the existing Linux and Windows test coverage and addressing the xfail-to-xpass failures. Verify both bare-VM and container environments in GitHub Actions; removing PowerShell is suggested as part of the refactor.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, github-actions, powershell
Domain
ci-cd, devops
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.