CI: Refactor test pipelines to cover bare VM and container environments
まだ誰も着手していません。
- 主要言語
- 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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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