tahoe-lafs / zfec

zfec -- an efficient, portable erasure coding tool
Other
373 stars 44 forks source link

Python 3.12 support #100

Closed itamarst closed 8 months ago

itamarst commented 8 months ago

Fixes #99

Not sure what's up with both NEWS and ChangeLog existing, so didn't do an entry. Someone with permissions will have to do a release once this is merged.

itamarst commented 8 months ago

Most of the changes are just upgrading versioneer.

sajith commented 8 months ago

@itamarst I too do not know what the deal is with both NEWS.txt and changelog, although I myself have added some notes to both of them (sorry!). What do you think would be the right thing to do?

It also bugs me that we get a bunch of deployment errors from PR checks, because zfec version that CI attempts to upload already exists on testpypi. Maybe we should skip testpypi upload?

Relatedly, is it a good idea to continue vendoring versioneer anymore? Perhaps setuptools_scm (or similar) will do an acceptable job, and if we switch to setuptools_scm testpypi publishing will stop failing?

sajith commented 8 months ago

Wait, testpypi uploads are failing with a different error now:

ERROR    HTTPError: 403 Forbidden from https://test.pypi.org/legacy/            
         Invalid or non-existent authentication information. See                
         https://test.pypi.org/help/#invalid-auth for more information.    

Pretty sure that the earlier pypi upload failures were because of attempts to re-upload existing versions of zfec package.

itamarst commented 8 months ago

I am not sure setuptools_scm would make any difference; if the issue is it has the same version, that would still be the case I think? In theory there's some post-version stuff, not sure why that's not triggered.

sajith commented 8 months ago

What I've seen is that setuptools_scm will insert a git short commit hash in the package name (resulting in package names of the form zfec-x.y.z+deadb33f-cp32-abi3-linux_x86_64.whl), so testpypi uploads will have unique names.

itamarst commented 8 months ago

I thought versioneer did that too, e.g. on my (untagged) fork, it gives zfec-0.post0.dev675-cp312-cp312-linux_x86_64.whl.

sajith commented 8 months ago

Ah okay, versioneer should be able to do the job just fine then.

I will look into these testpypi failures when I get a chance.

itamarst commented 8 months ago

Note that you'll have to merge it, since I don't have permissions to do so.

exarkun commented 8 months ago

Wait, testpypi uploads are failing with a different error now:

ERROR    HTTPError: 403 Forbidden from https://test.pypi.org/legacy/            
         Invalid or non-existent authentication information. See                
         https://test.pypi.org/help/#invalid-auth for more information.    

Pretty sure that the earlier pypi upload failures were because of attempts to re-upload existing versions of zfec package.

I think this error is due to the PR being submitted from a fork and so not having access to any secrets.