From 743fd97fa2524fa31d56d9afd7ca30c9ca5f3eee Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 28 Aug 2025 02:57:18 +0000
Subject: [PATCH 01/27] Initial plan
From c11942239b213ade8bade37469a42dc8e8a81260 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 28 Aug 2025 03:02:49 +0000
Subject: [PATCH 02/27] Add CI infrastructure overview section to
CONTRIBUTING.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- Added cuda-pathfinder component to the component guidelines list
- Added footnote explaining cuda.bindings follows cuda-python contributing guide
- Added comprehensive CI infrastructure overview section with:
- Visual flowchart diagram showing build → test → release pipeline
- Platform and runner details (self-hosted vs GitHub-hosted)
- Artifact storage and propagation (GitHub Artifacts vs Cache)
- Branch-specific workflows (main, backport, pull-request)
- Key infrastructure details
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 109 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 108 insertions(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index aac13021866..c80de33b00f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,110 @@ Thank you for your interest in contributing to CUDA Python! Based on the type of
2. You want to implement a feature, improvement, or bug fix:
- Please refer to each component's guideline:
- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/contribute.html)
- - [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/contribute.html)
+ - [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/contribute.html)¹
+ - [`cuda.pathfinder`](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/contribute.html)
+
+
+## CI infrastructure overview
+
+The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and releases multiple components across different platforms. This section provides a visual overview of our CI infrastructure to help contributors understand the build and release process.
+
+### CI Pipeline Flow
+
+```
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ TRIGGER EVENTS │
+│ • Push to main branch • Pull request │
+│ • Push to pull-request/* branches • Manual workflow dispatch │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+ │
+ ▼
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ BUILD STAGE │
+│ │
+│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
+│ │ linux-64 │ │ linux-aarch64 │ │ win-64 │ │
+│ │ Self-hosted │ │ Self-hosted │ │ GitHub-hosted │ │
+│ │ linux-amd64-cpu8│ │ linux-arm64-cpu8│ │ windows-2022 │ │
+│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
+│ │
+│ • Python versions: 3.9, 3.10, 3.11, 3.12, 3.13 │
+│ • CUDA version: 13.0.0 (build-time) │
+│ • Components: cuda-core, cuda-bindings, cuda-pathfinder, cuda-python │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+ │
+ ▼
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ ARTIFACT STORAGE │
+│ │
+│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
+│ │ GitHub Artifacts │ │ GitHub Cache │ │
+│ │ • Wheel files (.whl) │ │ • Build dependencies │ │
+│ │ • Test artifacts │ │ • Compiled binaries │ │
+│ │ • Documentation │ │ • Python environments │ │
+│ │ (30-day retention) │ │ • Package caches │ │
+│ └──────────────────────────┘ └──────────────────────────┘ │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+ │
+ ▼
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ TEST STAGE │
+│ │
+│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
+│ │ linux-64 │ │ linux-aarch64 │ │ win-64 │ │
+│ │ Self-hosted │ │ Self-hosted │ │ GitHub-hosted │ │
+│ │ GPU runners │ │ GPU runners │ │ GPU runners │ │
+│ │ (L4/A100) │ │ (A100) │ │ │ │
+│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
+│ │
+│ • Download wheels from artifacts │
+│ • Test against multiple CUDA runtime versions │
+│ • Run Python unit tests, Cython tests, examples │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+ │
+ ▼
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ RELEASE PIPELINE │
+│ │
+│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
+│ │ Validation │────▶│ Publishing │────▶│ Documentation │ │
+│ │ • Artifact │ │ • PyPI/TestPyPI │ │ • GitHub Pages │ │
+│ │ integrity │ │ • Component or │ │ • API docs │ │
+│ │ • Git tag │ │ all releases │ │ • Release notes │ │
+│ │ verification │ │ │ │ │ │
+│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
+│ │
+│ • Manual workflow dispatch with run ID │
+│ • Supports individual component or full releases │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+```
+
+### Branch-specific Artifact Flow
+
+#### Main Branch
+- **Build** → **Test** → **Documentation** → **Potential Release**
+- Artifacts stored as `{component}-python{version}-{platform}-{sha}`
+- Full test coverage across all platforms and CUDA versions
+
+#### Backport Branches
+- **Build** → **Test** → **Backport PR Creation**
+- Artifacts used for validation before creating backport pull requests
+- Maintains compatibility with older CUDA versions
+
+#### Pull Request Branches (`pull-request/*`)
+- **Build** → **Test** → **Status Check**
+- Artifacts used for CI validation only
+- Prevents untrusted code execution through signed commits requirement
+
+### Key Infrastructure Details
+
+- **Self-hosted runners**: Used for Linux builds and GPU testing (more resources, faster builds)
+- **GitHub-hosted runners**: Used for Windows builds and general tasks
+- **Artifact retention**: 30 days for GitHub Artifacts (wheels, docs, tests)
+- **Cache retention**: GitHub Cache for build dependencies and environments
+- **Security**: All commits must be signed, untrusted code blocked
+- **Parallel execution**: Matrix builds across Python versions and platforms
+- **Component isolation**: Each component (core, bindings, pathfinder, python) can be built/released independently
## Pre-commit
@@ -78,3 +181,7 @@ By making a contribution to this project, I certify that:
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```
+
+---
+
+¹ `cuda.bindings` follows the contributing guidelines from this repository (`cuda-python`).
From 281680950703bc0767533d061dfcff95d9e30cca Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 28 Aug 2025 03:19:53 +0000
Subject: [PATCH 03/27] Address CI infrastructure feedback: update flowchart,
fix footnotes, add SVG diagram
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 23 ++++++----
ci-pipeline.svg | 118 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 133 insertions(+), 8 deletions(-)
create mode 100644 ci-pipeline.svg
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c80de33b00f..534cea157f8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,7 @@ Thank you for your interest in contributing to CUDA Python! Based on the type of
2. You want to implement a feature, improvement, or bug fix:
- Please refer to each component's guideline:
- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/contribute.html)
- - [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/contribute.html)¹
+ - [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/contribute.html)[1](#footnote1)
- [`cuda.pathfinder`](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/contribute.html)
@@ -21,6 +21,10 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
### CI Pipeline Flow
+#### Visual Diagram (SVG)
+
+
+#### Text-based Diagram (ASCII)
```
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ TRIGGER EVENTS │
@@ -35,7 +39,7 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ linux-64 │ │ linux-aarch64 │ │ win-64 │ │
│ │ Self-hosted │ │ Self-hosted │ │ GitHub-hosted │ │
-│ │ linux-amd64-cpu8│ │ linux-arm64-cpu8│ │ windows-2022 │ │
+│ │ (runners) │ │ (runners) │ │ (runners) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ • Python versions: 3.9, 3.10, 3.11, 3.12, 3.13 │
@@ -49,10 +53,10 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
│ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ GitHub Artifacts │ │ GitHub Cache │ │
-│ │ • Wheel files (.whl) │ │ • Build dependencies │ │
-│ │ • Test artifacts │ │ • Compiled binaries │ │
-│ │ • Documentation │ │ • Python environments │ │
-│ │ (30-day retention) │ │ • Package caches │ │
+│ │ • Wheel files (.whl) │ │ • Mini CTK cache │ │
+│ │ • Test artifacts │ │ │ │
+│ │ • Documentation │ │ │ │
+│ │ (30-day retention) │ │ │ │
│ └──────────────────────────┘ └──────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘
│
@@ -64,7 +68,7 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
│ │ linux-64 │ │ linux-aarch64 │ │ win-64 │ │
│ │ Self-hosted │ │ Self-hosted │ │ GitHub-hosted │ │
│ │ GPU runners │ │ GPU runners │ │ GPU runners │ │
-│ │ (L4/A100) │ │ (A100) │ │ │ │
+│ │ │ │ │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ • Download wheels from artifacts │
@@ -95,11 +99,14 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
- **Build** → **Test** → **Documentation** → **Potential Release**
- Artifacts stored as `{component}-python{version}-{platform}-{sha}`
- Full test coverage across all platforms and CUDA versions
+- **Artifact flow out**: `cuda-pathfinder` artifacts → backport branches
#### Backport Branches
- **Build** → **Test** → **Backport PR Creation**
- Artifacts used for validation before creating backport pull requests
- Maintains compatibility with older CUDA versions
+- **Artifact flow in**: `cuda-pathfinder` artifacts ← main branch
+- **Artifact flow out**: older `cuda-bindings` artifacts → main branch
#### Pull Request Branches (`pull-request/*`)
- **Build** → **Test** → **Status Check**
@@ -184,4 +191,4 @@ By making a contribution to this project, I certify that:
---
-¹ `cuda.bindings` follows the contributing guidelines from this repository (`cuda-python`).
+: `cuda.bindings` follows the contributing guidelines from this repository (`cuda-python`).
diff --git a/ci-pipeline.svg b/ci-pipeline.svg
new file mode 100644
index 00000000000..f3fbf0f884a
--- /dev/null
+++ b/ci-pipeline.svg
@@ -0,0 +1,118 @@
+
+
\ No newline at end of file
From 730b872d7b7a2d64cc22f1a3942d50f7887412d8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 28 Aug 2025 03:37:51 +0000
Subject: [PATCH 04/27] Update SVG diagram with requested changes and move to
ci/ directory
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 72 +-------------------------
ci-pipeline.svg | 118 -------------------------------------------
ci/ci-pipeline.svg | 123 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 124 insertions(+), 189 deletions(-)
delete mode 100644 ci-pipeline.svg
create mode 100644 ci/ci-pipeline.svg
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 534cea157f8..8f66f90a11d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -21,77 +21,7 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
### CI Pipeline Flow
-#### Visual Diagram (SVG)
-
-
-#### Text-based Diagram (ASCII)
-```
-┌─────────────────────────────────────────────────────────────────────────────────────┐
-│ TRIGGER EVENTS │
-│ • Push to main branch • Pull request │
-│ • Push to pull-request/* branches • Manual workflow dispatch │
-└─────────────────────────────────────────────────────────────────────────────────────┘
- │
- ▼
-┌─────────────────────────────────────────────────────────────────────────────────────┐
-│ BUILD STAGE │
-│ │
-│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
-│ │ linux-64 │ │ linux-aarch64 │ │ win-64 │ │
-│ │ Self-hosted │ │ Self-hosted │ │ GitHub-hosted │ │
-│ │ (runners) │ │ (runners) │ │ (runners) │ │
-│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
-│ │
-│ • Python versions: 3.9, 3.10, 3.11, 3.12, 3.13 │
-│ • CUDA version: 13.0.0 (build-time) │
-│ • Components: cuda-core, cuda-bindings, cuda-pathfinder, cuda-python │
-└─────────────────────────────────────────────────────────────────────────────────────┘
- │
- ▼
-┌─────────────────────────────────────────────────────────────────────────────────────┐
-│ ARTIFACT STORAGE │
-│ │
-│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
-│ │ GitHub Artifacts │ │ GitHub Cache │ │
-│ │ • Wheel files (.whl) │ │ • Mini CTK cache │ │
-│ │ • Test artifacts │ │ │ │
-│ │ • Documentation │ │ │ │
-│ │ (30-day retention) │ │ │ │
-│ └──────────────────────────┘ └──────────────────────────┘ │
-└─────────────────────────────────────────────────────────────────────────────────────┘
- │
- ▼
-┌─────────────────────────────────────────────────────────────────────────────────────┐
-│ TEST STAGE │
-│ │
-│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
-│ │ linux-64 │ │ linux-aarch64 │ │ win-64 │ │
-│ │ Self-hosted │ │ Self-hosted │ │ GitHub-hosted │ │
-│ │ GPU runners │ │ GPU runners │ │ GPU runners │ │
-│ │ │ │ │ │ │ │
-│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
-│ │
-│ • Download wheels from artifacts │
-│ • Test against multiple CUDA runtime versions │
-│ • Run Python unit tests, Cython tests, examples │
-└─────────────────────────────────────────────────────────────────────────────────────┘
- │
- ▼
-┌─────────────────────────────────────────────────────────────────────────────────────┐
-│ RELEASE PIPELINE │
-│ │
-│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
-│ │ Validation │────▶│ Publishing │────▶│ Documentation │ │
-│ │ • Artifact │ │ • PyPI/TestPyPI │ │ • GitHub Pages │ │
-│ │ integrity │ │ • Component or │ │ • API docs │ │
-│ │ • Git tag │ │ all releases │ │ • Release notes │ │
-│ │ verification │ │ │ │ │ │
-│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
-│ │
-│ • Manual workflow dispatch with run ID │
-│ • Supports individual component or full releases │
-└─────────────────────────────────────────────────────────────────────────────────────┘
-```
+
### Branch-specific Artifact Flow
diff --git a/ci-pipeline.svg b/ci-pipeline.svg
deleted file mode 100644
index f3fbf0f884a..00000000000
--- a/ci-pipeline.svg
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
\ No newline at end of file
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
new file mode 100644
index 00000000000..77d430354cc
--- /dev/null
+++ b/ci/ci-pipeline.svg
@@ -0,0 +1,123 @@
+
+
\ No newline at end of file
From dcc83bd586524f116354e6e747054021f6979153 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 28 Aug 2025 03:46:40 +0000
Subject: [PATCH 05/27] Remove nv-gha-runners implementation detail and improve
SVG diagram layout
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 1 -
ci/ci-pipeline.svg | 144 +++++++++++++++++++++++----------------------
2 files changed, 73 insertions(+), 72 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8f66f90a11d..0051de21a3c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -41,7 +41,6 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
#### Pull Request Branches (`pull-request/*`)
- **Build** → **Test** → **Status Check**
- Artifacts used for CI validation only
-- Prevents untrusted code execution through signed commits requirement
### Key Infrastructure Details
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index 77d430354cc..18c086dd8bd 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -1,117 +1,119 @@
-
From 7e1d094aa774c8d9a9ab7c8484fa35fc528e49cf Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 7 Sep 2025 08:39:07 +0000
Subject: [PATCH 14/27] Replace duplicated Mermaid content with file reference
and update regeneration instructions
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 79 +--------------------------------------
ci/.ci-pipeline-regen.txt | 35 +++++++++++++++--
2 files changed, 33 insertions(+), 81 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index dffb6af4d40..2a352461715 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -95,84 +95,7 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and

-Alternative Mermaid diagram representation:
-
-```mermaid
-flowchart TD
- %% Trigger Events
- subgraph TRIGGER["🔄 TRIGGER EVENTS"]
- T1["• Push to main branch
• Push to pull-request/* branches"]
- T2["• Pull request
• Manual workflow dispatch"]
- T1 --- T2
- end
-
- %% Build Stage
- subgraph BUILD["🔨 BUILD STAGE"]
- subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
- B1["linux-64
(Self-hosted)"]
- B2["linux-aarch64
(Self-hosted)"]
- B3["win-64
(GitHub-hosted)"]
- end
- BUILD_DETAILS["• Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
• CUDA version: 13.0.0 (build-time)
• Components: cuda-core, cuda-bindings,
cuda-pathfinder, cuda-python"]
- end
-
- %% Artifact Storage
- subgraph ARTIFACTS["📦 ARTIFACT STORAGE"]
- subgraph GITHUB_ARTIFACTS["GitHub Artifacts"]
- GA1["• Wheel files (.whl)
• Test artifacts
• Documentation
(30-day retention)"]
- end
- subgraph GITHUB_CACHE["GitHub Cache"]
- GC1["• Mini CTK cache"]
- end
- end
-
- %% Test Stage
- subgraph TEST["🧪 TEST STAGE"]
- subgraph TEST_PLATFORMS["Parallel Platform Tests"]
- TS1["linux-64
(Self-hosted)"]
- TS2["linux-aarch64
(Self-hosted)"]
- TS3["win-64
(GitHub-hosted)"]
- end
- TEST_DETAILS["• Download wheels from artifacts
• Test against multiple CUDA runtime versions
• Run Python unit tests, Cython tests, examples"]
- ARTIFACT_FLOWS["Artifact Flows:
• cuda-pathfinder: main → backport
• cuda-bindings: backport → main"]
- end
-
- %% Release Pipeline
- subgraph RELEASE["🚀 RELEASE PIPELINE"]
- subgraph RELEASE_STAGES["Sequential Release Steps"]
- R1["Validation
• Artifact integrity
• Git tag verification"]
- R2["Publishing
• PyPI/TestPyPI
• Component or all releases"]
- R3["Documentation
• GitHub Pages
• Release notes"]
- R1 --> R2 --> R3
- end
- RELEASE_DETAILS["• Manual workflow dispatch with run ID
• Supports individual component or full releases"]
- end
-
- %% Main Flow
- TRIGGER --> BUILD
- BUILD --> ARTIFACTS
- ARTIFACTS --> TEST
- TEST --> RELEASE
-
- %% Artifact Flow Arrows (Cache Reuse)
- GITHUB_CACHE -.->|"mini CTK reuse"| BUILD
-
- %% Artifact Flow Arrows (Wheel Fetch)
- GITHUB_ARTIFACTS -.->|"wheel fetch"| RELEASE
-
- %% Styling
- classDef triggerStyle fill:#e8f4fd,stroke:#2196F3,stroke-width:2px,color:#1976D2
- classDef buildStyle fill:#f3e5f5,stroke:#9C27B0,stroke-width:2px,color:#7B1FA2
- classDef artifactStyle fill:#fff3e0,stroke:#FF9800,stroke-width:2px,color:#F57C00
- classDef testStyle fill:#e8f5e8,stroke:#4CAF50,stroke-width:2px,color:#388E3C
- classDef releaseStyle fill:#ffebee,stroke:#f44336,stroke-width:2px,color:#D32F2F
-
- class TRIGGER,T1,T2 triggerStyle
- class BUILD,BUILD_PLATFORMS,B1,B2,B3,BUILD_DETAILS buildStyle
- class ARTIFACTS,GITHUB_ARTIFACTS,GITHUB_CACHE,GA1,GC1 artifactStyle
- class TEST,TEST_PLATFORMS,TS1,TS2,TS3,TEST_DETAILS,ARTIFACT_FLOWS testStyle
- class RELEASE,RELEASE_STAGES,R1,R2,R3,RELEASE_DETAILS releaseStyle
-```
+Alternative Mermaid diagram representation ([ci/ci-pipeline.mmd](ci/ci-pipeline.mmd)):
### Pipeline Execution Details
diff --git a/ci/.ci-pipeline-regen.txt b/ci/.ci-pipeline-regen.txt
index 55827130135..91c78aebeb4 100644
--- a/ci/.ci-pipeline-regen.txt
+++ b/ci/.ci-pipeline-regen.txt
@@ -52,18 +52,47 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Additional artifact flow arrows (dashed, orange #FF9800):
- From GitHub Cache (mini CTK) back to Build Stage with "mini CTK reuse" label
- From GitHub Artifacts (wheels) to Release Pipeline with "wheel fetch" label
-- Arrow marker definition with hand-drawn style
+- Arrow marker definition with hand-drawn style (orange arrow heads, not black)
- Use stroke-dasharray="5,3" for artifact flow arrows
+## Critical Arrow Positioning Requirements (UPDATED)
+**IMPORTANT**: Arrows must NOT overlap with stage boxes. Ensure proper clearance:
+
+1. **Mini CTK reuse arrow** (GitHub Cache → Build Stage):
+ - Arrow endpoint Y coordinate must be BELOW the Build Stage box edge (y=292)
+ - Use y=295 or greater for the endpoint to ensure no overlap
+ - Position "mini CTK reuse" text to the RIGHT of the arrow (not left) for less visual clutter
+ - Text color should be orange (#FF9800) to match arrow
+
+2. **Wheel fetch arrow** (GitHub Artifacts → Release Pipeline):
+ - Arrow endpoint Y coordinate must be ABOVE the Release Pipeline box edge (y=652)
+ - Use y=645 or smaller for the endpoint to provide proper margin
+ - Position "wheel fetch" text between Test Stage and Release Pipeline boxes
+ - Text should be to the LEFT of the arrow for better spacing
+
+## Font Size Requirements (UPDATED)
+- ALL text labels must use consistent 12pt font size for readability
+- No 9pt text - this is too small and hard to read
+- Title: 16pt, Stage headers: 14pt, All other text: 12pt
+
## Key Features
- All boxes use rough, hand-drawn paths (not perfect rectangles)
- Text should be properly sized and positioned within boxes
- Platform boxes within each stage should be clearly separated
- Maintain consistent spacing and alignment
-- Use appropriate font sizes: 16pt title, 14pt stage headers, 12pt platform names, 11pt details, 9-10pt smaller text
+- Orange arrow heads must match the orange arrow color
## Text Positioning
- Use text-anchor="middle" for centered headers
- Use text-anchor="start" for left-aligned bullet points
- Ensure all text fits within their enclosing boxes
-- Use transforms for angled text labels on artifact flow arrows
\ No newline at end of file
+- Use transforms for angled text labels on artifact flow arrows
+- Artifact flow arrow text positioning is critical - follow positioning requirements above
+
+## Recent Manual Adjustments Applied
+- Fixed arrow endpoint positioning to prevent overlap with stage boxes
+- Moved mini CTK reuse arrow endpoint from y=285 to y=295
+- Moved wheel fetch arrow endpoint from y=650 to y=645
+- Repositioned text labels for better visual separation
+- Standardized all text to 12pt font size for consistency
+- Changed arrow heads from black to orange to match arrow color
\ No newline at end of file
From dbda9100a0fda0622f49165cbf36f6c6993dcb61 Mon Sep 17 00:00:00 2001
From: Leo Fang
Date: Sun, 7 Sep 2025 15:13:10 -0400
Subject: [PATCH 15/27] Rename ci-pipeline.mmd to ci-pipeline.md
---
ci/{ci-pipeline.mmd => ci-pipeline.md} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename ci/{ci-pipeline.mmd => ci-pipeline.md} (99%)
diff --git a/ci/ci-pipeline.mmd b/ci/ci-pipeline.md
similarity index 99%
rename from ci/ci-pipeline.mmd
rename to ci/ci-pipeline.md
index 79dc95343bf..0f68373a21e 100644
--- a/ci/ci-pipeline.mmd
+++ b/ci/ci-pipeline.md
@@ -73,4 +73,4 @@ flowchart TD
class ARTIFACTS,GITHUB_ARTIFACTS,GITHUB_CACHE,GA1,GC1 artifactStyle
class TEST,TEST_PLATFORMS,TS1,TS2,TS3,TEST_DETAILS,ARTIFACT_FLOWS testStyle
class RELEASE,RELEASE_STAGES,R1,R2,R3,RELEASE_DETAILS releaseStyle
-```
\ No newline at end of file
+```
From 9a2f1aff2f69589297f59faef468b60d2a10b1f3 Mon Sep 17 00:00:00 2001
From: Leo Fang
Date: Sun, 7 Sep 2025 15:15:21 -0400
Subject: [PATCH 16/27] try this
Updated the CI pipeline representation with a new image format.
---
CONTRIBUTING.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2a352461715..c8d5ee60bae 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -95,7 +95,9 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and

-Alternative Mermaid diagram representation ([ci/ci-pipeline.mmd](ci/ci-pipeline.mmd)):
+Alternative Mermaid diagram representation:
+
+
### Pipeline Execution Details
From 019027226ee8917024b81724aba365df442648ca Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 7 Sep 2025 19:23:14 +0000
Subject: [PATCH 17/27] Inline Mermaid diagram in CONTRIBUTING.md instead of
file reference
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 77 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 76 insertions(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c8d5ee60bae..dffb6af4d40 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -97,7 +97,82 @@ The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and
Alternative Mermaid diagram representation:
-
+```mermaid
+flowchart TD
+ %% Trigger Events
+ subgraph TRIGGER["🔄 TRIGGER EVENTS"]
+ T1["• Push to main branch
• Push to pull-request/* branches"]
+ T2["• Pull request
• Manual workflow dispatch"]
+ T1 --- T2
+ end
+
+ %% Build Stage
+ subgraph BUILD["🔨 BUILD STAGE"]
+ subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
+ B1["linux-64
(Self-hosted)"]
+ B2["linux-aarch64
(Self-hosted)"]
+ B3["win-64
(GitHub-hosted)"]
+ end
+ BUILD_DETAILS["• Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
• CUDA version: 13.0.0 (build-time)
• Components: cuda-core, cuda-bindings,
cuda-pathfinder, cuda-python"]
+ end
+
+ %% Artifact Storage
+ subgraph ARTIFACTS["📦 ARTIFACT STORAGE"]
+ subgraph GITHUB_ARTIFACTS["GitHub Artifacts"]
+ GA1["• Wheel files (.whl)
• Test artifacts
• Documentation
(30-day retention)"]
+ end
+ subgraph GITHUB_CACHE["GitHub Cache"]
+ GC1["• Mini CTK cache"]
+ end
+ end
+
+ %% Test Stage
+ subgraph TEST["🧪 TEST STAGE"]
+ subgraph TEST_PLATFORMS["Parallel Platform Tests"]
+ TS1["linux-64
(Self-hosted)"]
+ TS2["linux-aarch64
(Self-hosted)"]
+ TS3["win-64
(GitHub-hosted)"]
+ end
+ TEST_DETAILS["• Download wheels from artifacts
• Test against multiple CUDA runtime versions
• Run Python unit tests, Cython tests, examples"]
+ ARTIFACT_FLOWS["Artifact Flows:
• cuda-pathfinder: main → backport
• cuda-bindings: backport → main"]
+ end
+
+ %% Release Pipeline
+ subgraph RELEASE["🚀 RELEASE PIPELINE"]
+ subgraph RELEASE_STAGES["Sequential Release Steps"]
+ R1["Validation
• Artifact integrity
• Git tag verification"]
+ R2["Publishing
• PyPI/TestPyPI
• Component or all releases"]
+ R3["Documentation
• GitHub Pages
• Release notes"]
+ R1 --> R2 --> R3
+ end
+ RELEASE_DETAILS["• Manual workflow dispatch with run ID
• Supports individual component or full releases"]
+ end
+
+ %% Main Flow
+ TRIGGER --> BUILD
+ BUILD --> ARTIFACTS
+ ARTIFACTS --> TEST
+ TEST --> RELEASE
+
+ %% Artifact Flow Arrows (Cache Reuse)
+ GITHUB_CACHE -.->|"mini CTK reuse"| BUILD
+
+ %% Artifact Flow Arrows (Wheel Fetch)
+ GITHUB_ARTIFACTS -.->|"wheel fetch"| RELEASE
+
+ %% Styling
+ classDef triggerStyle fill:#e8f4fd,stroke:#2196F3,stroke-width:2px,color:#1976D2
+ classDef buildStyle fill:#f3e5f5,stroke:#9C27B0,stroke-width:2px,color:#7B1FA2
+ classDef artifactStyle fill:#fff3e0,stroke:#FF9800,stroke-width:2px,color:#F57C00
+ classDef testStyle fill:#e8f5e8,stroke:#4CAF50,stroke-width:2px,color:#388E3C
+ classDef releaseStyle fill:#ffebee,stroke:#f44336,stroke-width:2px,color:#D32F2F
+
+ class TRIGGER,T1,T2 triggerStyle
+ class BUILD,BUILD_PLATFORMS,B1,B2,B3,BUILD_DETAILS buildStyle
+ class ARTIFACTS,GITHUB_ARTIFACTS,GITHUB_CACHE,GA1,GC1 artifactStyle
+ class TEST,TEST_PLATFORMS,TS1,TS2,TS3,TEST_DETAILS,ARTIFACT_FLOWS testStyle
+ class RELEASE,RELEASE_STAGES,R1,R2,R3,RELEASE_DETAILS releaseStyle
+```
### Pipeline Execution Details
From 2334bcf374f947493de3a7f034ab7da431e46ea2 Mon Sep 17 00:00:00 2001
From: Leo Fang
Date: Sun, 7 Sep 2025 15:26:45 -0400
Subject: [PATCH 18/27] Delete ci/ci-pipeline.md
---
ci/ci-pipeline.md | 76 -----------------------------------------------
1 file changed, 76 deletions(-)
delete mode 100644 ci/ci-pipeline.md
diff --git a/ci/ci-pipeline.md b/ci/ci-pipeline.md
deleted file mode 100644
index 0f68373a21e..00000000000
--- a/ci/ci-pipeline.md
+++ /dev/null
@@ -1,76 +0,0 @@
-```mermaid
-flowchart TD
- %% Trigger Events
- subgraph TRIGGER["🔄 TRIGGER EVENTS"]
- T1["• Push to main branch
• Push to pull-request/* branches"]
- T2["• Pull request
• Manual workflow dispatch"]
- T1 --- T2
- end
-
- %% Build Stage
- subgraph BUILD["🔨 BUILD STAGE"]
- subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
- B1["linux-64
(Self-hosted)"]
- B2["linux-aarch64
(Self-hosted)"]
- B3["win-64
(GitHub-hosted)"]
- end
- BUILD_DETAILS["• Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
• CUDA version: 13.0.0 (build-time)
• Components: cuda-core, cuda-bindings,
cuda-pathfinder, cuda-python"]
- end
-
- %% Artifact Storage
- subgraph ARTIFACTS["📦 ARTIFACT STORAGE"]
- subgraph GITHUB_ARTIFACTS["GitHub Artifacts"]
- GA1["• Wheel files (.whl)
• Test artifacts
• Documentation
(30-day retention)"]
- end
- subgraph GITHUB_CACHE["GitHub Cache"]
- GC1["• Mini CTK cache"]
- end
- end
-
- %% Test Stage
- subgraph TEST["🧪 TEST STAGE"]
- subgraph TEST_PLATFORMS["Parallel Platform Tests"]
- TS1["linux-64
(Self-hosted)"]
- TS2["linux-aarch64
(Self-hosted)"]
- TS3["win-64
(GitHub-hosted)"]
- end
- TEST_DETAILS["• Download wheels from artifacts
• Test against multiple CUDA runtime versions
• Run Python unit tests, Cython tests, examples"]
- ARTIFACT_FLOWS["Artifact Flows:
• cuda-pathfinder: main → backport
• cuda-bindings: backport → main"]
- end
-
- %% Release Pipeline
- subgraph RELEASE["🚀 RELEASE PIPELINE"]
- subgraph RELEASE_STAGES["Sequential Release Steps"]
- R1["Validation
• Artifact integrity
• Git tag verification"]
- R2["Publishing
• PyPI/TestPyPI
• Component or all releases"]
- R3["Documentation
• GitHub Pages
• Release notes"]
- R1 --> R2 --> R3
- end
- RELEASE_DETAILS["• Manual workflow dispatch with run ID
• Supports individual component or full releases"]
- end
-
- %% Main Flow
- TRIGGER --> BUILD
- BUILD --> ARTIFACTS
- ARTIFACTS --> TEST
- TEST --> RELEASE
-
- %% Artifact Flow Arrows (Cache Reuse)
- GITHUB_CACHE -.->|"mini CTK reuse"| BUILD
-
- %% Artifact Flow Arrows (Wheel Fetch)
- GITHUB_ARTIFACTS -.->|"wheel fetch"| RELEASE
-
- %% Styling
- classDef triggerStyle fill:#e8f4fd,stroke:#2196F3,stroke-width:2px,color:#1976D2
- classDef buildStyle fill:#f3e5f5,stroke:#9C27B0,stroke-width:2px,color:#7B1FA2
- classDef artifactStyle fill:#fff3e0,stroke:#FF9800,stroke-width:2px,color:#F57C00
- classDef testStyle fill:#e8f5e8,stroke:#4CAF50,stroke-width:2px,color:#388E3C
- classDef releaseStyle fill:#ffebee,stroke:#f44336,stroke-width:2px,color:#D32F2F
-
- class TRIGGER,T1,T2 triggerStyle
- class BUILD,BUILD_PLATFORMS,B1,B2,B3,BUILD_DETAILS buildStyle
- class ARTIFACTS,GITHUB_ARTIFACTS,GITHUB_CACHE,GA1,GC1 artifactStyle
- class TEST,TEST_PLATFORMS,TS1,TS2,TS3,TEST_DETAILS,ARTIFACT_FLOWS testStyle
- class RELEASE,RELEASE_STAGES,R1,R2,R3,RELEASE_DETAILS releaseStyle
-```
From 376f571e9b096612f2d9b4e181768f7f1f1d95f2 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Sun, 7 Sep 2025 19:28:00 +0000
Subject: [PATCH 19/27] [pre-commit.ci] auto code formatting
---
CONTRIBUTING.md | 6 +--
ci/.ci-pipeline-regen.txt | 4 +-
ci/ci-pipeline.svg | 96 +++++++++++++++++++--------------------
3 files changed, 53 insertions(+), 53 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index dffb6af4d40..91d73f53445 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -110,7 +110,7 @@ flowchart TD
subgraph BUILD["🔨 BUILD STAGE"]
subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
B1["linux-64
(Self-hosted)"]
- B2["linux-aarch64
(Self-hosted)"]
+ B2["linux-aarch64
(Self-hosted)"]
B3["win-64
(GitHub-hosted)"]
end
BUILD_DETAILS["• Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
• CUDA version: 13.0.0 (build-time)
• Components: cuda-core, cuda-bindings,
cuda-pathfinder, cuda-python"]
@@ -156,7 +156,7 @@ flowchart TD
%% Artifact Flow Arrows (Cache Reuse)
GITHUB_CACHE -.->|"mini CTK reuse"| BUILD
-
+
%% Artifact Flow Arrows (Wheel Fetch)
GITHUB_ARTIFACTS -.->|"wheel fetch"| RELEASE
@@ -188,7 +188,7 @@ flowchart TD
- Full test coverage across all platforms and CUDA versions
- **Artifact flow out**: `cuda-pathfinder` artifacts → backport branches
-#### Backport Branches
+#### Backport Branches
- **Build** → **Test** → **Backport PR Creation**
- Artifacts used for validation before creating backport pull requests
- Maintains compatibility with older CUDA versions
diff --git a/ci/.ci-pipeline-regen.txt b/ci/.ci-pipeline-regen.txt
index 91c78aebeb4..1fb06b72e55 100644
--- a/ci/.ci-pipeline-regen.txt
+++ b/ci/.ci-pipeline-regen.txt
@@ -92,7 +92,7 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
## Recent Manual Adjustments Applied
- Fixed arrow endpoint positioning to prevent overlap with stage boxes
- Moved mini CTK reuse arrow endpoint from y=285 to y=295
-- Moved wheel fetch arrow endpoint from y=650 to y=645
+- Moved wheel fetch arrow endpoint from y=650 to y=645
- Repositioned text labels for better visual separation
- Standardized all text to 12pt font size for consistency
-- Changed arrow heads from black to orange to match arrow color
\ No newline at end of file
+- Changed arrow heads from black to orange to match arrow color
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index a35879169a1..e276c2f3435 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -3,116 +3,116 @@
-
-
-
+
CUDA Python CI Pipeline Flow
-
+
-
TRIGGER EVENTS
• Push to main branch
• Pull request
• Push to pull-request/* branches
• Manual workflow dispatch
-
+
-
+
-
BUILD STAGE
-
+
-
linux-64
Self-hosted
-
-
linux-aarch64
Self-hosted
-
-
win-64
GitHub-hosted
-
+
• Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
• CUDA version: 13.0.0 (build-time)
• Components: cuda-core, cuda-bindings,
cuda-pathfinder, cuda-python
-
+
-
+
-
ARTIFACT STORAGE
-
+
-
GitHub Artifacts
• Wheel files (.whl)
• Test artifacts
• Documentation
(30-day retention)
-
-
GitHub Cache
• Mini CTK cache
-
+
-
+
-
mini CTK reuse
-
+
-
wheel fetch
-
+
-
TEST STAGE
-
+
-
linux-64
Self-hosted
-
-
linux-aarch64
Self-hosted
-
-
win-64
GitHub-hosted
-
+
• Download wheels from artifacts
• Test against multiple CUDA runtime versions
@@ -120,40 +120,40 @@
Artifact Flows:
• cuda-pathfinder: main → backport
• cuda-bindings: backport → main
-
+
-
+
-
RELEASE PIPELINE
-
+
-
Validation
• Artifact integrity
• Git tag verification
-
+
-
-
Publishing
• PyPI/TestPyPI
• Component or all releases
-
+
-
-
Documentation
• GitHub Pages
• Release notes
-
+
• Manual workflow dispatch with run ID
• Supports individual component or full releases
From d02a546377247af27239e9271fa9ff5dddd156fc Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 7 Sep 2025 19:35:12 +0000
Subject: [PATCH 20/27] Add SPDX headers to CI pipeline files
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
ci/.ci-pipeline-regen.txt | 3 +++
ci/ci-pipeline.svg | 2 ++
2 files changed, 5 insertions(+)
diff --git a/ci/.ci-pipeline-regen.txt b/ci/.ci-pipeline-regen.txt
index 1fb06b72e55..5d069cc56c3 100644
--- a/ci/.ci-pipeline-regen.txt
+++ b/ci/.ci-pipeline-regen.txt
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
CUDA Python CI Pipeline SVG Regeneration Instructions
====================================================
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index e276c2f3435..bba2220805f 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -1,4 +1,6 @@
+
+
From b72d10b1ea1660b7a7fcf6fb36f1aea0d4f685ef Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 7 Sep 2025 19:46:23 +0000
Subject: [PATCH 21/27] Fix footnote formatting and convert .txt to .md for
pipeline regeneration docs
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 2 +-
...i-pipeline-regen.txt => .ci-pipeline-regen.md} | 15 +++++++++++----
2 files changed, 12 insertions(+), 5 deletions(-)
rename ci/{.ci-pipeline-regen.txt => .ci-pipeline-regen.md} (95%)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 91d73f53445..40315821eb3 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -207,4 +207,4 @@ flowchart TD
---
-: `cuda.bindings` follows the contributing guidelines from this repository (`cuda-python`).
+1: The `cuda-python` meta package shares the same license and the contributing guidelines as those of `cuda-bindings`.
diff --git a/ci/.ci-pipeline-regen.txt b/ci/.ci-pipeline-regen.md
similarity index 95%
rename from ci/.ci-pipeline-regen.txt
rename to ci/.ci-pipeline-regen.md
index 5d069cc56c3..c73fda1a1a4 100644
--- a/ci/.ci-pipeline-regen.txt
+++ b/ci/.ci-pipeline-regen.md
@@ -1,12 +1,12 @@
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
-CUDA Python CI Pipeline SVG Regeneration Instructions
-====================================================
+# CUDA Python CI Pipeline SVG Regeneration Instructions
-This file contains the prompt and requirements for regenerating ci-pipeline.svg with the same styling and content.
+This file contains the prompt and requirements for regenerating `ci-pipeline.svg` with the same styling and content.
## Styling Requirements
+
- Hand-drawn Excalidraw-style design with rough, sketchy borders
- Comic Sans MS font family for all text
- Imperfect lines and curves that mimic hand-drawn aesthetics
@@ -19,6 +19,7 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Release Pipeline: #ffebee background, #f44336 border, #D32F2F text
## Content Structure
+
1. **Title**: "CUDA Python CI Pipeline Flow"
2. **Trigger Events** (top blue box):
@@ -51,6 +52,7 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Details: Manual workflow dispatch with run ID, Supports individual component or full releases
## Arrow Requirements
+
- Main flow arrows: Trigger → Build → Artifact → Test → Release
- Additional artifact flow arrows (dashed, orange #FF9800):
- From GitHub Cache (mini CTK) back to Build Stage with "mini CTK reuse" label
@@ -59,6 +61,7 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Use stroke-dasharray="5,3" for artifact flow arrows
## Critical Arrow Positioning Requirements (UPDATED)
+
**IMPORTANT**: Arrows must NOT overlap with stage boxes. Ensure proper clearance:
1. **Mini CTK reuse arrow** (GitHub Cache → Build Stage):
@@ -74,11 +77,13 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Text should be to the LEFT of the arrow for better spacing
## Font Size Requirements (UPDATED)
+
- ALL text labels must use consistent 12pt font size for readability
- No 9pt text - this is too small and hard to read
- Title: 16pt, Stage headers: 14pt, All other text: 12pt
## Key Features
+
- All boxes use rough, hand-drawn paths (not perfect rectangles)
- Text should be properly sized and positioned within boxes
- Platform boxes within each stage should be clearly separated
@@ -86,6 +91,7 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Orange arrow heads must match the orange arrow color
## Text Positioning
+
- Use text-anchor="middle" for centered headers
- Use text-anchor="start" for left-aligned bullet points
- Ensure all text fits within their enclosing boxes
@@ -93,9 +99,10 @@ This file contains the prompt and requirements for regenerating ci-pipeline.svg
- Artifact flow arrow text positioning is critical - follow positioning requirements above
## Recent Manual Adjustments Applied
+
- Fixed arrow endpoint positioning to prevent overlap with stage boxes
- Moved mini CTK reuse arrow endpoint from y=285 to y=295
- Moved wheel fetch arrow endpoint from y=650 to y=645
- Repositioned text labels for better visual separation
- Standardized all text to 12pt font size for consistency
-- Changed arrow heads from black to orange to match arrow color
+- Changed arrow heads from black to orange to match arrow color
\ No newline at end of file
From 91724fe080280f44d0e540dd078a6b838768d77d Mon Sep 17 00:00:00 2001
From: Leo Fang
Date: Sun, 7 Sep 2025 15:50:44 -0400
Subject: [PATCH 22/27] md files don't need spdx
---
ci/.ci-pipeline-regen.md | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/ci/.ci-pipeline-regen.md b/ci/.ci-pipeline-regen.md
index c73fda1a1a4..7a8a5dd58aa 100644
--- a/ci/.ci-pipeline-regen.md
+++ b/ci/.ci-pipeline-regen.md
@@ -1,6 +1,3 @@
-# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0
-
# CUDA Python CI Pipeline SVG Regeneration Instructions
This file contains the prompt and requirements for regenerating `ci-pipeline.svg` with the same styling and content.
@@ -105,4 +102,4 @@ This file contains the prompt and requirements for regenerating `ci-pipeline.svg
- Moved wheel fetch arrow endpoint from y=650 to y=645
- Repositioned text labels for better visual separation
- Standardized all text to 12pt font size for consistency
-- Changed arrow heads from black to orange to match arrow color
\ No newline at end of file
+- Changed arrow heads from black to orange to match arrow color
From 9ce239a25638c17c6e40722c584e99c9a5d49d54 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 8 Sep 2025 00:36:35 +0000
Subject: [PATCH 23/27] Remove pull-request/* branches trigger event references
from CI documentation
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 2 +-
ci/.ci-pipeline-regen.md | 1 -
ci/ci-pipeline.svg | 3 +--
3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 40315821eb3..6a0d4c37a73 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -101,7 +101,7 @@ Alternative Mermaid diagram representation:
flowchart TD
%% Trigger Events
subgraph TRIGGER["🔄 TRIGGER EVENTS"]
- T1["• Push to main branch
• Push to pull-request/* branches"]
+ T1["• Push to main branch"]
T2["• Pull request
• Manual workflow dispatch"]
T1 --- T2
end
diff --git a/ci/.ci-pipeline-regen.md b/ci/.ci-pipeline-regen.md
index 7a8a5dd58aa..90aa4acd78c 100644
--- a/ci/.ci-pipeline-regen.md
+++ b/ci/.ci-pipeline-regen.md
@@ -22,7 +22,6 @@ This file contains the prompt and requirements for regenerating `ci-pipeline.svg
2. **Trigger Events** (top blue box):
- Push to main branch
- Pull request
- - Push to pull-request/* branches
- Manual workflow dispatch
3. **Build Stage** (purple box):
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index bba2220805f..f65a2389b4f 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -25,8 +25,7 @@
TRIGGER EVENTS
• Push to main branch
• Pull request
- • Push to pull-request/* branches
- • Manual workflow dispatch
+ • Manual workflow dispatch
From 9b86fb65a206e217fa2f8db599862c388df0de73 Mon Sep 17 00:00:00 2001
From: Leo Fang
Date: Sun, 7 Sep 2025 20:41:30 -0400
Subject: [PATCH 24/27] Update ci/ci-pipeline.svg
---
ci/ci-pipeline.svg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index f65a2389b4f..1f0f559f1a3 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -25,7 +25,7 @@
TRIGGER EVENTS
• Push to main branch
• Pull request
- • Manual workflow dispatch
+ • Manual workflow dispatch
From 456444fa8906dc1eeff9e060eececca0aac482fa Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 8 Sep 2025 18:55:19 +0000
Subject: [PATCH 25/27] Add artifact flow arrows to TEST STAGE and remove empty
line from SVG
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 4 +++-
ci/.ci-pipeline-regen.md | 2 ++
ci/ci-pipeline.svg | 12 +++++++++++-
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6a0d4c37a73..07ffaf45c1c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -106,7 +106,7 @@ flowchart TD
T1 --- T2
end
- %% Build Stage
+ %% Build Stage
subgraph BUILD["🔨 BUILD STAGE"]
subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
B1["linux-64
(Self-hosted)"]
@@ -156,8 +156,10 @@ flowchart TD
%% Artifact Flow Arrows (Cache Reuse)
GITHUB_CACHE -.->|"mini CTK reuse"| BUILD
+ GITHUB_CACHE -.->|"mini CTK reuse"| TEST
%% Artifact Flow Arrows (Wheel Fetch)
+ GITHUB_ARTIFACTS -.->|"wheel fetch"| TEST
GITHUB_ARTIFACTS -.->|"wheel fetch"| RELEASE
%% Styling
diff --git a/ci/.ci-pipeline-regen.md b/ci/.ci-pipeline-regen.md
index 90aa4acd78c..7ddf9b970d5 100644
--- a/ci/.ci-pipeline-regen.md
+++ b/ci/.ci-pipeline-regen.md
@@ -53,6 +53,8 @@ This file contains the prompt and requirements for regenerating `ci-pipeline.svg
- Additional artifact flow arrows (dashed, orange #FF9800):
- From GitHub Cache (mini CTK) back to Build Stage with "mini CTK reuse" label
- From GitHub Artifacts (wheels) to Release Pipeline with "wheel fetch" label
+ - **NEW**: From GitHub Cache (mini CTK) to Test Stage with "mini CTK reuse" label
+ - **NEW**: From GitHub Artifacts (wheels) to Test Stage with "wheel fetch" label
- Arrow marker definition with hand-drawn style (orange arrow heads, not black)
- Use stroke-dasharray="5,3" for artifact flow arrows
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index 1f0f559f1a3..e88a81b52ac 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -26,7 +26,6 @@
• Push to main branch
• Pull request
• Manual workflow dispatch
-
@@ -93,6 +92,17 @@
stroke="#FF9800" stroke-width="2.5" fill="none" stroke-linejoin="round" marker-end="url(#orangearrow)" stroke-dasharray="5,3"/>
wheel fetch
+
+
+
+ mini CTK reuse
+
+
+
+ wheel fetch
+
From d2b397a43f0216aa1ef905395135c7b4d2560f98 Mon Sep 17 00:00:00 2001
From: Leo Fang
Date: Mon, 8 Sep 2025 15:05:14 -0400
Subject: [PATCH 26/27] Apply suggestions from code review
---
CONTRIBUTING.md | 2 +-
ci/ci-pipeline.svg | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 07ffaf45c1c..64c2e9a400a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -106,7 +106,7 @@ flowchart TD
T1 --- T2
end
- %% Build Stage
+ %% Build Stage
subgraph BUILD["🔨 BUILD STAGE"]
subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
B1["linux-64
(Self-hosted)"]
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index e88a81b52ac..b108d7ff3a9 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -94,12 +94,12 @@
-
mini CTK reuse
-
wheel fetch
From dc001e69076281cf9145817d90f7b2aaf5836ddc Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 8 Sep 2025 19:45:08 +0000
Subject: [PATCH 27/27] Fix SVG artifact flow arrows and add wheel upload label
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
---
CONTRIBUTING.md | 4 ++--
ci/ci-pipeline.svg | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 64c2e9a400a..183d215865b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -150,8 +150,8 @@ flowchart TD
%% Main Flow
TRIGGER --> BUILD
- BUILD --> ARTIFACTS
- ARTIFACTS --> TEST
+ BUILD -.->|"wheel upload"| ARTIFACTS
+ ARTIFACTS -.-> TEST
TEST --> RELEASE
%% Artifact Flow Arrows (Cache Reuse)
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
index b108d7ff3a9..eeff4c69fd1 100644
--- a/ci/ci-pipeline.svg
+++ b/ci/ci-pipeline.svg
@@ -57,7 +57,8 @@
cuda-pathfinder, cuda-python
-
+
+ wheel upload
• Mini CTK cache
-
+