🔧 Include tests/ and tox.ini in the sdist - #426
Merged
Conversation
Fixes #261 — flit_core sdists omitted the test suite while shipping tox.ini, so distro packagers could not run the project's tests from the PyPI source tarball. Explicitly include tests/ and tox.ini; keep docs/ and benchmarking/ excluded.
for more information, see https://pre-commit.ci
Replace the pyproject.toml text-grep with a test that builds the sdist with flit_core and asserts that tests/, tox.ini and the package itself are members of the tarball, and that docs/ and benchmarking/ are not. The test skips when flit_core is unavailable, or when not run from a source checkout.
pip builds the package in an isolated environment, so flit_core was not importable in the test jobs and tests/test_packaging skipped there (CI reported "1000 passed, 1 skipped"). Adding flit_core to the testing extra lets the assertion actually run.
2 tasks
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Supersedes #420 by @BetterAndBetterII (GitHub refused to update that fork branch because the merge would carry workflow-file changes); their commits are carried here verbatim with authorship preserved (thank you!). Closes #261, open since 2023 from a distro packager.
PyPI sdists shipped
tox.inibut omittedtests/, so packagers could not run the suite from the tarball.tests/is moved out of[tool.flit.sdist] excludeandtests/plustox.iniare explicitly included;docs/andbenchmarking/stay excluded.Commits
fix: include tests/ (and tox.ini) in the flit sdistand the pre-commit.ci autofix — the contributor's commits, unchanged.🧪 TEST: Assert sdist contents by building the sdist— the original test only string-matchedpyproject.toml. It now builds a real sdist withflit_core(no network, ~0.15 s) and assertsmarkdown_it/__init__.py,tests/test_api/test_main.pyandtox.iniare members and nothing underdocs/orbenchmarking/is. It skips cleanly whenflit_coreis unavailable or when not run from a source checkout. Verified negative: with theincludereverted, the test fails ontests/test_api/test_main.py.Verification
pyproject.tomlnow allows after ⬆️ Update flit-core requirement from <4,>=3.4 to >=3.4,<5 #414.