Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redesign scripts to build all images from a single branch #877

Closed
25 tasks done
mayeut opened this issue Dec 12, 2020 · 3 comments
Closed
25 tasks done

Redesign scripts to build all images from a single branch #877

mayeut opened this issue Dec 12, 2020 · 3 comments

Comments

@mayeut
Copy link
Member

mayeut commented Dec 12, 2020

As proposed in #542 (comment), this issue is created to propose and track progress of a rewrite of manylinux build scripts to build all images from a single branch.

With new manylinux policies allowed by PEP600, we'll have more and more images. Creating a branch per policy will cause issues for maintainability and consistency between images (or even README).

manylinux1 is out-of-scope for the rewrite for now (c.f. #542 (comment) for rational)

Here are the steps I propose, feel free to challenge those.
PRs referenced here will build one on top of the other requiring them to be reviewed sequentially.

@pypa/manylinux, please do provide feedback as your time allows, thanks.

@manthey
Copy link

manthey commented Feb 8, 2021

With some of these changes, the docker image now has many more layers. Docker has an upper limit on the total number of layers that an image can have (it is around 128, but I am not certain), and having more layers here mean that downstream docker images that build on it have fewer layers that they can add. I recognize that having more layers makes these scripts more docker cache friendly for manylinux, but more docker cache hostile for downstream docker images. Please don't add too many more layers.

@mayeut
Copy link
Member Author

mayeut commented Feb 8, 2021

@manthey,
I think the total number of layers is 127. This added 31 layers compared to the previous method (now 49 layers, previously 18 layers if I'm not mistaken). If this becomes an issue, I have ideas in order to reduce the number of layers.
We could easily get 5 layers back at no cost. Saving more layers would "cost" storage for cache.
As long as it's not an issue, I'll let things as they are. Thanks for pointing out this potential issue.

@manthey
Copy link

manthey commented Feb 9, 2021

Thanks, @mayeut.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants