Repository navigation
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
b058b92 to
e81aef5
Compare
…dist `recursive-include harness2/third_party *` named a path that has never existed, so setuptools shipped no third_party/ files at all, and dependencies/ASSETS.json was never listed. The sdist therefore failed its own scripts/check_provenance.py (47 hashed assets, all under third_party/). Point the directive at the real root, ship ASSETS.json, and pin both with tests/test_packaging.py.
e81aef5 to
de45727
Compare
|
Re-verified against the current Rebase. The branch is now based on The defect is still present on Suite, run in a clone on the rebased branch (macOS arm64, CPython 3): The 4 errors do not come from this branch. A clean with the same four names, all in File collision, measured today against the file lists of all 103 open PRs:
Nothing else in flight touches either file this PR changes, so any future conflict here would have to come from #25. |
Summary
MANIFEST.inpointed itsrecursive-includeatharness2/third_party, a path that hasnever existed — the tracked overlay tree is at the repository root — so setuptools
silently shipped no
third_party/files in the sdist, anddependencies/ASSETS.jsonwasnever listed. The resulting archive omitted all 47 assets that
dependencies/ASSETS.jsonhashes, every one of which lives underthird_party/.Both consequences were measured on the artifact built from
1cfe254:find third_party -type f | wc -linside the unpacked sdist printed0.python3 scripts/check_provenance.py, run inside the sdist that ships it, exited 1 withProvenance check failed: [Errno 2] No such file or directory: '.../dependencies/ASSETS.json'.Two lines of
MANIFEST.inplus a regression test. No package code changes.docs/SETUP.md's "Wheel installations" section stays true — a wheel still ships thepackage only; this makes the sdist a complete source tree, which is what a conda
feedstock or
pip install --no-binary :all:builds from (context: #106).Changes
MANIFEST.in:recursive-include third_party *(washarness2/third_party), anddependencies/ASSETS.jsonadded to the existingincludeline.tests/test_packaging.py: asserts that everyrecursive-includeroot exists, that everypath hashed by
dependencies/ASSETS.jsonis present in the tree and selected by themanifest, and that the manifest itself ships. Hermetic — it reads two files and builds
nothing.
Related Issue
Closes #144. Context: #106.
Tests
python3 -m unittest discover -s tests -v→ 8 tests, OK (5 existing + 3 new).The new tests fail against
upstream/main's manifest (3 failures, the first namingharness2/third_party) and pass with this change, so they bite rather than merelyaccompany it.
End-to-end after the fix:
The sdist grows by about 388 KB, the size of
third_party/.