NVIDIA / NVIDIA/cuda-python

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

オープン
#1,369 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

blocked CI/CD feature P0
主要言語
Cython
スター
3.4k
フォーク
329
平均マージ
1日 21時間
マージ済み PR(30日)
113

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

コンテキストとして issue #1307 と、コミット 4011bb8e54b57b6138ce8da809bca606be4b9b21 での CI 実行を使用し、まず .github/workflows/test-wheel-linux.yml と .github/workflows/test-wheel-windows.yml から始めます。既存の Linux および Windows のテストカバレッジを維持し、xfail-to-xpass の失敗に対処しながら、これらをコンテナ用とコンテナなしのワークフローにリファクタリングします。GitHub Actions で bare-VM 環境とコンテナ環境の両方を検証します。リファクタリングの一環として PowerShell を削除することが提案されています。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
bash, github-actions, powershell
領域
ci-cd, devops
issue の種類
リファクタリング
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。