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

3.1.7: No tests in sdist #1037

Closed
dvzrv opened this issue Jul 16, 2020 · 4 comments
Closed

3.1.7: No tests in sdist #1037

dvzrv opened this issue Jul 16, 2020 · 4 comments

Comments

@dvzrv
Copy link

dvzrv commented Jul 16, 2020

Hi! When trying to package 3.1.7 for Arch Linux I found the sdist to not have any tests anymore.
What is the rationale behind the removal in 7e7045c?
How can I test this package against the distribution's packages and Python version now?

I can't use the tarballs on github as source tarballs as they are missing a PGP signature. The tags themselves are signed using an unknown PGP key (EE029D1E5EB40300): https://github.com/gitpython-developers/GitPython/tags

@Byron
Copy link
Member

Byron commented Jul 16, 2020

Thanks for the headsup, and my apologies for the hassle.
The idea behind the mentioned commit is to reduce the package size so that distribution and delivery speed is improved, saving internet resources. Repackaging and running tests is a special case that probably is better suited with cloning the repository or using the tarball.

The latter should work very similarly to what worked before when using the package from pypi, and I am sure there are already mechanisms in place to allow the tests to run without a prior clone. If there are new problems related to this, please let me know nonetheless, but the general idea is to run ./init-tests-after-clone.sh to put the repository in a state that satisfies the preconditions of the GitPython tests.

Lastly, I have updated the tag 3.1.7 and signed it with 2CF6E0B51AAF73F09B1C21174D1DA68C88710E60. Furthermore, I changed my repository configuration to force me signing everything with said key as well to prevent this from happening in the future.

If there is anything else, I am happy to help.

@dvzrv
Copy link
Author

dvzrv commented Sep 4, 2020

or using the tarball.

The pypi sdist is a source tarball.
The sources should always be made available for being able to test them against the environment at hand.

A wheel package on the other hand often bundles things and does not need to take care of the environment at hand (apart from the interpreter version maybe).

So having tests in a source tarball is a very valid use-case (not only for distributions).

Lastly I would like to add, that I'm currently using a git clone of this repository, as it can be validated more easily.

@Byron
Copy link
Member

Byron commented Sep 7, 2020

Thanks for the explanation. So ideally, there would be a source tarball on pypi that contains the tests, but since the tests won't run anyway without their parent git repository, it's probably not very useful to have. Thus it appears to be the correct decision to drop tests everywhere and rely on the git repository to be available.

In order to assure the sources in the tarball or wheel package indeed correlate to the tested tag in the repository, this script (or similar) could be used to match the source with the git tree.

If this helps or gets voided due to Arch support being dropped as per #1055, please feel free to close the issue.

@Byron
Copy link
Member

Byron commented Jan 6, 2021

As part of spring cleaning, I am closing this issue as it was opened more than four months ago while still asking for feedback.

If this is a mistake or any other action should rather be taken, please let me know in the comments or create a new issue as digest of this one.
Thanks for your understanding and the work that undoubtedly went into this.

@Byron Byron closed this as completed Jan 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants