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]
