Skip to content
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

More packaging fixes #3314

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
prune .github
prune asset
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this line is the only entry that actually makes sense to be in this file.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is far from true, i tried this myself but the result caused problems in multiple places, one of them was the check-manifest. The other was that extra built docs were included and that desired json/yaml were not included from inside src/molecule. On the other hand if you put generic recursive includes for those two extensions you may endup getting stuff like src/molecule/test/.mypy_cache/.../foo.json which are excluded by default.

I know that testing behavior of Manifest.in is quite tricky as it is highly dependent on what you may have on disk, like temp files, stuff that are not VCS tracked.

check-manifest command is very useful for debugging as it reports both kind of unexpected exclusions or inclusions but still fails to give correct recommendations or to spot the bug I mentioned.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, so your problem was because of the recursive inclusion and not a bug in setuptools-scm. That makes sense, then.

include *.md
include *.py
include *.txt
include *.yaml
include *.yml
prune playbooks
prune snap
prune zuul.d
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you want to exclude it from the sdist?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not see any use to include CI config in sdist, same with .github folder. On the other hand I kept test related files so you can still run tests from source archive.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whole point of the sdist is to provide the sources for stuff, as much as possible. It's right there in the name. The users needing a small thing will use the wheel anyway (and it's configured separately). Many things use sdists as the source of truth, in particular — the downstream packagers. So don't exclude things without a really compelling reason.

prune docs/docstree
include .config/molecule/config.yml
include .ansible.cfg
include .coveragerc
include .git_archival.txt
include .pre-commit-config.yaml
include .pylintrc
include .pyup.yml
include .readthedocs.yml
include .yamllint
include DCO_1_1.md
include bindep.txt
include conftest.py
include constraints.txt
include mypy.ini
include tox.ini
include src/molecule/test/functional/.ansible-lint
include .config/molecule/config.yml
recursive-include docs *.ico
recursive-include docs *.png
recursive-include docs *.py
recursive-include docs *.rst
include docs/_static/images/*.*
include docs/*.*
recursive-include src .ansible-lint
recursive-include src *.flake8
recursive-include src *.j2
recursive-include src *.json
recursive-include src *.md
recursive-include src *.py
recursive-include src *.rst
recursive-include src *.typed
recursive-include src *.yaml
recursive-include src *.yamllint
recursive-include src *.yml
recursive-include playbooks *.yaml
recursive-include snap *.yaml
recursive-include tools *.sh
recursive-include src cookiecutter.json
recursive-include src/molecule/test/scenarios extra-host
recursive-include src/molecule/test/scenarios hosts
recursive-exclude .github *.*
recursive-exclude .mypy_cache *.*
recursive-exclude docs/docstree/html *.*
recursive-exclude zuul.d *.*
recursive-include tools *.sh