Skip to content

fix(py): switch sdist to explicit inclusion mode and exclude Dawn test corpora - #566

Merged
Ryan-Millard merged 1 commit into
devfrom
fix/py-sdist-explicit-mode
Aug 18, 2026
Merged

fix(py): switch sdist to explicit inclusion mode and exclude Dawn test corpora#566
Ryan-Millard merged 1 commit into
devfrom
fix/py-sdist-explicit-mode

Conversation

@Ryan-Millard

Copy link
Copy Markdown
Owner

The default inclusion mode leaves include/exclude collisions unspecified: sdist.include "third_party/dawn/**" overlapped every Dawn exclude pattern, producing inconsistent tarballs from the same config (35k vs 93k entries across otherwise identical builds). Explicit mode documents that exclude is applied after include, making sdist contents deterministic. Explicit mode also ignores .gitignore, so local build directories are excluded here too.

Excludes Dawn's test corpora (~60k files never consumed by any build) whose vk-gl-cts tree caused the deterministic sdist unpack failure in CI (see the Build Python failures on #562), the webgpu-cts GN metadata (43 MB test_list.txt plus an 8 MB cache tarball, both also present in the currently published PyPI sdist), the opt-in HermeticXcode macOS toolchain dir that contains the tree's only dangling symlink, and the dangling dawn/.git submodule gitlink.

Result: 105 MB / 93k entries down to 6.5 MB / ~5k entries. The wheel builds from the sdist end-to-end and the console example runs on the GPU path.

inclusion-mode = "explicit" requires scikit-build-core >= 1.0, so the build-system floor is bumped accordingly.

…t corpora

The default inclusion mode leaves include/exclude collisions unspecified:
sdist.include "third_party/dawn/**" overlapped every Dawn exclude pattern,
producing inconsistent tarballs from the same config (35k vs 93k entries
across otherwise identical builds). Explicit mode documents that exclude is
applied after include, making sdist contents deterministic. Explicit mode
also ignores .gitignore, so local build directories are excluded here too.

Excludes Dawn's test corpora (~60k files never consumed by any build) whose
vk-gl-cts tree caused the deterministic sdist unpack failure in CI (see the
Build Python failures on #562), the webgpu-cts GN metadata (43 MB
test_list.txt plus an 8 MB cache tarball, both also present in the currently
published PyPI sdist), the opt-in HermeticXcode macOS toolchain dir that
contains the tree's only dangling symlink, and the dangling dawn/.git
submodule gitlink.

Result: 105 MB / 93k entries down to 6.5 MB / ~5k entries. The wheel builds
from the sdist end-to-end and the console example runs on the GPU path.

inclusion-mode = "explicit" requires scikit-build-core >= 1.0, so the
build-system floor is bumped accordingly.
@Ryan-Millard
Ryan-Millard changed the base branch from main to dev August 18, 2026 19:00
@github-actions

This comment was marked as outdated.

@Ryan-Millard
Ryan-Millard marked this pull request as ready for review August 18, 2026 19:00
@coderabbitai

This comment was marked as outdated.

@github-actions github-actions Bot added the js/ts label Aug 18, 2026
@Ryan-Millard
Ryan-Millard force-pushed the fix/py-sdist-explicit-mode branch from d719e20 to 5003ccf Compare August 18, 2026 19:17
@Ryan-Millard

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Already reviewed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@Ryan-Millard
Ryan-Millard merged commit 393940c into dev Aug 18, 2026
23 of 24 checks passed
@Ryan-Millard
Ryan-Millard deleted the fix/py-sdist-explicit-mode branch August 18, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant