BewareMyPower commented on PR #17536:
URL: https://github.com/apache/pulsar/pull/17536#issuecomment-1257023484

   > In theory the images should already be available in Docker hub and it 
takes a lot of time to rebuild them.
   
   I agree now. I've thought the `create-images.sh` is similar to building base 
images for RPM and DEB packages. I took a look just now, this script will 
create nearly 10 images, which takes too much time.
   
   ```
   pulsar-build:manylinux2014-cp37-cp37m-x86_64
   pulsar-build:manylinux2014-cp38-cp38-x86_64
   pulsar-build:manylinux2014-cp39-cp39-x86_64
   pulsar-build:manylinux2014-cp310-cp310-x86_64
   pulsar-build:manylinux2014-cp37-cp37m-aarch64
   pulsar-build:manylinux2014-cp38-cp38-aarch64
   pulsar-build:manylinux2014-cp39-cp39-aarch64
   pulsar-build:manylinux2014-cp310-cp310-aarch64
   pulsar-build:manylinux_musl-cp37-cp37m-aarch64
   pulsar-build:manylinux_musl-cp38-cp38-aarch64
   pulsar-build:manylinux_musl-cp39-cp39-aarch64
   pulsar-build:manylinux_musl-cp310-cp310-aarch64
   pulsar-build:manylinux_musl-cp37-cp37m-x86_64
   pulsar-build:manylinux_musl-cp38-cp38-x86_64
   pulsar-build:manylinux_musl-cp39-cp39-x86_64
   pulsar-build:manylinux_musl-cp310-cp310-x86_64
   ```
   
   > By doing `docker pull $IMAGE` before using it, we're making sure that when 
the image is manually updated, the builds will start using it.
   
   My point is not about whether the local image is latest. I mean the process 
is complicated and needs some manual operations. We must document that once any 
of the following files are changed, **we must notify a maintainer of 
apachepulsar DockerHub account to upload the newest image.**
   - python-versions.sh, which specifies the supported Python versions and the 
associated base images 
   - manylinux2014/Dockerfile, the base image of Python 3.7 to 3.10 for 
`x86_64` and `aarch64` architectures
   - manylinux_musl/Dockerfile, the base image of Python 3.7 to 3.10 for Alpine 
compatible wheels
   
   If we want to change these Dockerfiles, for example, the `xvfz` option for 
`tar` command takes much more time than `xvz` for the extra output. Even this 
minor optimization requires a complicated update steps.
   
   In addition, we should not use such a tag like 
`manylinux_musl-cp310-cp310-x86_64`. It should be a part of image name, the tag 
should be a version.
   
   ----
   
   In conclusion, I agree that we should not add an option to create base 
images for building Python wheels currently. But we should make the process 
clear in case when the base image changed.
   
   /cc @merlimat @RobertIndie 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to