-
Notifications
You must be signed in to change notification settings - Fork 315
Add CI infrastructure overview with hand-drawn SVG diagram, Mermaid alternative, and enhanced artifact flow visualization to CONTRIBUTING.md #916
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
743fd97
Initial plan
Copilot c119422
Add CI infrastructure overview section to CONTRIBUTING.md
Copilot 2816809
Address CI infrastructure feedback: update flowchart, fix footnotes, …
Copilot 730b872
Update SVG diagram with requested changes and move to ci/ directory
Copilot dcc83bd
Remove nv-gha-runners implementation detail and improve SVG diagram l…
Copilot ec0cd1e
Convert SVG diagram to hand-drawn Excalidraw-like style
Copilot b748d3a
Remove pull-request/* branches section from CONTRIBUTING.md
Copilot 144e722
Add artifact flow arrows and regeneration reference file
Copilot c0b6476
Fix SVG arrow styling and add parallel execution documentation
Copilot a6cd1cf
Fix SVG arrow styling and restructure CONTRIBUTING.md
Copilot 8633610
Fix SVG arrow styling, move footnote to bottom, and add Mermaid diagram
Copilot 3ad9bfd
Fix SVG arrow positioning to prevent overlap with boxes and remove un…
Copilot 81f4543
Manually adjust SVG marker sizes and text positions
leofang 7e1d094
Replace duplicated Mermaid content with file reference and update reg…
Copilot dbda910
Rename ci-pipeline.mmd to ci-pipeline.md
leofang 9a2f1af
try this
leofang 0190272
Inline Mermaid diagram in CONTRIBUTING.md instead of file reference
Copilot 2334bcf
Delete ci/ci-pipeline.md
leofang 376f571
[pre-commit.ci] auto code formatting
pre-commit-ci[bot] d02a546
Add SPDX headers to CI pipeline files
Copilot b72d10b
Fix footnote formatting and convert .txt to .md for pipeline regenera…
Copilot 91724fe
md files don't need spdx
leofang 9ce239a
Remove pull-request/* branches trigger event references from CI docum…
Copilot 9b86fb6
Update ci/ci-pipeline.svg
leofang 14b1717
Merge branch 'main' into copilot/fix-915
leofang 456444f
Add artifact flow arrows to TEST STAGE and remove empty line from SVG
Copilot d2b397a
Apply suggestions from code review
leofang dc001e6
Fix SVG artifact flow arrows and add wheel upload label
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,106 @@ | ||
| # 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. | ||
|
|
||
| ## 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 | ||
| - Canvas size: 900x800 pixels | ||
| - Color scheme: | ||
| - Trigger Events: #e8f4fd background, #2196F3 border, #1976D2 text | ||
| - Build Stage: #f3e5f5 background, #9C27B0 border, #7B1FA2 text | ||
| - Artifact Storage: #fff3e0 background, #FF9800 border, #F57C00 text | ||
| - Test Stage: #e8f5e8 background, #4CAF50 border, #388E3C text | ||
| - Release Pipeline: #ffebee background, #f44336 border, #D32F2F text | ||
|
|
||
| ## Content Structure | ||
|
|
||
| 1. **Title**: "CUDA Python CI Pipeline Flow" | ||
|
|
||
| 2. **Trigger Events** (top blue box): | ||
| - Push to main branch | ||
| - Pull request | ||
| - Manual workflow dispatch | ||
|
|
||
| 3. **Build Stage** (purple box): | ||
| - Three platform boxes: linux-64 (Self-hosted), linux-aarch64 (Self-hosted), win-64 (GitHub-hosted) | ||
| - Details: Python versions 3.9-3.13, CUDA 13.0.0 (build-time) | ||
| - Components: cuda-core, cuda-bindings, cuda-pathfinder, cuda-python | ||
|
|
||
| 4. **Artifact Storage** (orange box): | ||
| - GitHub Artifacts box: Wheel files (.whl), Test artifacts, Documentation (30-day retention) | ||
| - GitHub Cache box: Mini CTK cache | ||
|
|
||
| 5. **Test Stage** (green box): | ||
| - Three platform boxes: linux-64 (Self-hosted), linux-aarch64 (Self-hosted), win-64 (GitHub-hosted) | ||
| - Details: Download wheels from artifacts, Test against multiple CUDA runtime versions, Run Python unit tests, Cython tests, examples | ||
| - Artifact Flows (in red text): | ||
| • cuda-pathfinder: main → backport | ||
| • cuda-bindings: backport → main | ||
|
|
||
| 6. **Release Pipeline** (red box): | ||
| - Three sequential boxes: Validation → Publishing → Documentation | ||
| - Validation: Artifact integrity, Git tag verification | ||
| - Publishing: PyPI/TestPyPI, Component or all releases | ||
| - Documentation: GitHub Pages, Release notes | ||
| - 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 | ||
| - 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 | ||
|
|
||
| ## 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 | ||
| - 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 | ||
| - 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 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.