Skip to content

CI: Test sdist builds for all user-facing packages#1909

Open
cpcloud wants to merge 4 commits intoNVIDIA:mainfrom
cpcloud:ci-test-sdist-1599
Open

CI: Test sdist builds for all user-facing packages#1909
cpcloud wants to merge 4 commits intoNVIDIA:mainfrom
cpcloud:ci-test-sdist-1599

Conversation

@cpcloud
Copy link
Copy Markdown
Contributor

@cpcloud cpcloud commented Apr 14, 2026

Summary

  • Adds .github/workflows/test-sdist.yml reusable workflow that builds sdist then wheel-from-sdist for all 4 user-facing packages
  • Pure Python packages (cuda_pathfinder, cuda_python) built first without CTK
  • Cython packages (cuda_bindings, cuda_core) built with sccache + mini CTK, respecting build-dep chain via PIP_FIND_LINKS
  • Single matrix point: linux-64, py3.12, one CUDA version (sdist correctness is platform-independent)
  • Wired into ci.yml as test-sdist job, gated by should-skip and doc-only, included in checks
  • Catches MANIFEST.in / package-data drift regressions from PR Reduce wheel size by excluding source files #1588

Closes #1599

🤖 Generated with Claude Code

@cpcloud cpcloud added this to the cuda.core v1.0.0 milestone Apr 14, 2026
@cpcloud cpcloud added P0 High priority - Must do! CI/CD CI/CD infrastructure labels Apr 14, 2026
@cpcloud cpcloud self-assigned this Apr 14, 2026
@github-actions
Copy link
Copy Markdown

cpcloud and others added 3 commits April 14, 2026 18:15
Add a new test-sdist workflow that builds an sdist and then a
wheel-from-sdist for each of the 4 user-facing packages
(cuda_pathfinder, cuda_python, cuda_bindings, cuda_core). This
catches regressions in MANIFEST.in or package-data configuration
that could silently break sdist-based builds.

Closes NVIDIA#1599

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match existing test jobs' doc-only guard so docs-only PRs don't
run source-build validation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cuda_bindings build backend imports cuda.pathfinder, so pip's build
isolation needs to find the locally-built cuda_pathfinder wheel
instead of pulling from PyPI. Set PIP_FIND_LINKS to the pathfinder
dist directory.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@cpcloud cpcloud force-pushed the ci-test-sdist-1599 branch from e65f1ed to 113573e Compare April 14, 2026 22:15
actionlint rejects non-GitHub-hosted runner labels unless declared
in .github/actionlint.yaml. This was causing pre-commit.ci failures
on test-sdist.yml which uses linux-amd64-cpu8.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure P0 High priority - Must do!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: Test sdist builds

1 participant