peterbe / hashin

Helping you write hashed entries for packages in your requirements.txt
https://www.peterbe.com/plog/hashin
MIT License
105 stars 27 forks source link

sdist is missing LICENSE #151

Closed mtelka closed 6 months ago

mtelka commented 1 year ago

The sdist at PyPI is missing the LICENSE file. Please add the missing file to the package. Thank you.

hartwork commented 6 months ago

I confirm that file is missing in the 0.17.0 source tarball. The related files I find in Git do not seem to be at fault though:

# cd "$(mktemp -d)"
# git clone https://github.com/peterbe/hashin
# cd hashin/
# git rev-parse HEAD
628bfe1d1dac565d743df76c9090f4534b625f23
# python3 setup.py sdist
# tar tf dist/hashin-*.tar.gz | grep /LICENSE
hashin-0.17.0/LICENSE
# grep sdist deploy.sh
python setup.py sdist bdist_wheel

@peterbe any ideas?

peterbe commented 6 months ago

Perhaps it was fixed, but the issue was never closed. Clearly, it's there now.

mtelka commented 6 months ago

Perhaps it was fixed, but the issue was never closed. Clearly, it's there now.

We will see once there is new sdist release at PyPI.

peterbe commented 6 months ago

Perhaps it was fixed, but the issue was never closed. Clearly, it's there now.

We will see once there is new sdist release at PyPI.

Ah. I haven't done that in ages.

hartwork commented 6 months ago

@peterbe let's throw out all end-of-life Python support, get the CI fixed, and do a fresh release to PyPI. I'm happy to help feed into review and soon releases. I use hashin for https://github.com/hartwork/wnpp.debian.net/blob/master/requirements.txt and https://github.com/hartwork/jawanndenn/blob/master/requirements.txt and at work and would love to continue doing so without worry in 2024. Thanks for hashin! :pray:

peterbe commented 6 months ago

@hartwork Would you mind/prefer making a PR that updates setup.py, tox.ini, and .github/workflows/python.yml to just use modern versions of Python?

hartwork commented 6 months ago

@peterbe let me have a closer look, starting…

hartwork commented 6 months ago

@peterbe I have a first draft at #159 but GitHub Actions seems to have some hick-up not running any CI about it, not even in my fork repository, and not even showing the related branch in some places of the web UI. Let's hope this resolves in the next hour, will see.

hartwork commented 6 months ago

@peterbe I was able to trick GitHub Actions into running using self-pull-requests to my own fork (see https://github.com/hartwork/hashin-fork/pull/2 if curious) and CI is fully green there by now for all of of Python 3.8 to 3.12. I believe #159 is ready now for a push to the "Approve and run" button to have the CI run over here as well. Looking forward to your review :beers:

hartwork commented 6 months ago

@peterbe PS: GitHub is not showing all commits from my later pushes in #159 and keeps hiding the branch, all while https://www.githubstatus.com/ is perfectly green. I'll give up on GitHub for today, this is nuts. Better luck tomorrow, see you soon :wave:

hartwork commented 6 months ago

… and finally https://www.githubstatus.com/ starts reflecting reality:

incident_Screenshot_20240313_005136

hartwork commented 6 months ago

@peterbe pull request #159 is now stable and waiting for review :beers:

peterbe commented 6 months ago

Merged! Thanks! Now I just need to remind myself how one does a release. I've been living in Node-land for the last 5+ years (but my heart still lies with Python).

hartwork commented 6 months ago

Merged! Thanks!

@peterbe glad you like it, thanks for keeping the commit cutting intact! :+1:

Now I just need to remind myself how one does a release.

We need a change log for the new release and a version bump before that though.

For the release, how about something like:

rm -Rf build/ *.egg-info/ && python3.12 setup.py sdist bdist_wheel
twine upload --verbose dist/*new_version_here*

For a project stat still uses setup.py, that's loosely what I'd do.

I've been living in Node-land for the last 5+ years (but my heart still lies with Python).

Home is where… Python is :smiley:

peterbe commented 6 months ago

Did it work? https://pypi.org/project/hashin/#history

hartwork commented 6 months ago

@peterbe I think it did, it says 1.0.0 release 11 minutes ago with two files for download, a source tarball and a wheel.

Could you add a Git tag also and push it please?

hartwork commented 6 months ago

@peterbe PS: and the change log is missing! Maybe 1.0.1 with change log for both 1.0.0 and 1.0.1?

peterbe commented 6 months ago

the change log is missing!

https://github.com/peterbe/hashin/pull/163 r?

peterbe commented 6 months ago

Could you add a Git tag also and push it please?

Brings back memories. I haven't done that in years! Tools usually do it for you, like np in Node land. I guess I'll have to revive my memory on it. ha! Basics :)

peterbe commented 6 months ago

What tools do people use these day in Python land that does all things, including a GitHub Release?

hartwork commented 6 months ago

the change log is missing!

163 r?

@peterbe sweet! :tada:

Could you add a Git tag also and push it please?

Brings back memories. I haven't done that in years! Tools usually do it for you, like np in Node land. I guess I'll have to revive my memory on it. ha! Basics :)

Thanks for the 1.0.1 tag! Could you create a GitHub Release at https://github.com/peterbe/hashin/releases also? Only takes a few seconds manually.

What tools do people use these day in Python land that does all things, including a GitHub Release?

Someone else will have to answer that: I love CI but find CD and doing automated releases scary, I wand to have a hand at the wheel for these things, at least be the one to push that button. It can be done using GitHub Actions when used with secrets, but it needs to be done very right to not get pwned. Which reminds me that CI still has more permissions here than ideal, let me make a pull request to lock it down… #164

peterbe commented 6 months ago

find CD and doing automated releases scary

Agree. For my Node projects I use np which I manually run on my terminal. You just sit back and it does all things until it's time for me to type in a 6-digit 2FA code and then it drops me into a prefilled GitHub (add) Release which I just hit Submit on.