Closed manics closed 1 year ago
I bet it relates to compiling things that have pre-built wheels for py39 but not for py311
The single build step that takes notable time is this one, but not form amd64 but for arm64. They may simply not have arm64 wheels - while its confusing why it was quick in arm64 on py39 I get why its not quick with py311.
#29 [linux/arm64 build-stage 6/6] RUN --mount=type=cache,target=/tmp/pip-cache pip install build && pip wheel . pycurl -r helm-chart/images/binderhub/requirements.txt
The slowness stems from this dependency:
I don't see a difference between arm wheels for py39 and py311 for grpcio 1.15.1, so I'm confused about that. I note though that they provide armv7 wheels, which is related to arm32 and not arm64, so I presume this isn't picked up for such reasons among things.
Maybe best to switch the image to 3.10 for now?
It seems that this is to be fixed quite soon, I suggest we wait. See https://github.com/grpc/grpc/issues/32454 and note that their current release candidate has aarch64 wheels for py311. Actually, the 1.53.0 version with this fix is released, its just not published to PyPI, see https://github.com/grpc/grpc/issues/32702.
Bug description
https://github.com/jupyterhub/binderhub/actions/workflows/publish.yml?query=branch%3Amain
Container images based on Python 3.9 used to take around 30 minutes total for chartpress to publish the chart.
Following the switch to Python 3.11 this job takes around 2 hours.