Opened at 2024-11-28T06:01:36Z
Last modified at 2024-12-12T12:47:06Z
#4133 new defect
fix tahoe packaging
Reported by: | meejah | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | unknown | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
The current packaging has all three configuration options (pyproject.toml, setup.py and setup.cfg) as well as a bunch of custom version handling code in setup.py.
In two thousand and twenty four surely we can do packaging with configuration only, finally, and not have any Python code run.
Change History (3)
comment:1 Changed at 2024-12-03T18:24:47Z by blaisep
comment:2 Changed at 2024-12-12T10:04:31Z by btlogy
So, lets recap the current situation after having merged #1395:
Nix on CircleCI Docker runner
- the builders were failing after as the did before because of the Cachix issue described in ticket:4134
- the builders previously fixed in PR#1403 are now failing again because they still have to be adapted to the new hatch build system.
- we know how to build the package with hatch, but we are still missing a way to pass allmydata.test.test_client.Basic.test_versions.
=> WiP in LAfork/PR#12 and PR#1403
Other linux on CircleCI Docker runner
- the builders that were left (based on debian-11, ubuntu-20.04 and ubuntu-22.4) can setup the new resulting virtual-environment with hatch build and unit test the code just as they did before (with the well known flakiness described in ticket:4126).
- however, those same builders would not be able to complete the create-virtualenv.sh w/o new system dependencies introduced by hatch (gpg module requires gpgme devel package): see ticket:4143 and RP#1409 which should cover the new requirements.
- we've also uncovered a possible problem with the newer images we were planning to built on (debian-12 and ubuntu-24.04): gpgme-config is a tool required for tahoe-lafs[build] part which seems to have been removed from the gpgme package v1.18.0 provided in those new images: more details from this comment.
=> We may want to investigate and report this bug upstream (if confirmed). Or we might just remove the need for this new dependency on gpgme as it is only needed to sign wheels (which we do not do on CI today).
Apparently, this has already been proposed by meejah in c8db39e. Though I do not thing this commit belong to PR#1410 which focuses on Python 3.8 being EOL (ticket:4131).
Other native runners on CircleCI and GitHub
- packaging, unit and integration tests + coverage: all those seem to do fine with hatch build system.
=> Nothing else to do there.
comment:3 Changed at 2024-12-12T12:47:06Z by btlogy
I've also found 2 lines referring to setup.py which we may want to adapt post hatch:
- Makefile:21: SOURCES=src/allmydata static misc setup.py
- integration/conftest.py:343: # XXX yuck! should add a setup.py to chutney so we can at least...
Jeff and I are on board with this.