Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split packages into "building python" vs "building user packages" (#7877
) 1. Reorder the list of package lexicographically 2. Assume the only packages needed for `pyenv` to install `python` are the ones listed in https://github.com/pyenv/pyenv/wiki#suggested-build-environment 3. Move the remaining packages to a separate section of packages that are installed in the final image, not the builder image (they're not needed for building the various python's) 4. Go through the list of packages that are _potentially_ used for user packages, and search the repo issues/PR's/commit log for any mentions. Also google to see if any common python libraries require them. If so, document why. 5. Delete the remaining packages, they're probably not needed. This should slightly shrink our build times/image size, but there is a risk that one or more of the removed libraries are actually needed. If so, we'll probably see it in Sentry error logs once we deploy and jobs start running against user repos, and then we can re-add the ones that are still needed, except this time we'll actually be able to document _why_ they're needed. I was a little surprised how many packages I was able to delete... some of them may be part of the existing base image, but many of them looked like things that may have been needed for other parts of the monolithic docker image, but are no longer needed for just the Python bits.
- Loading branch information