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

[manylinux2014] Rework scripts to be more docker cache friendly #879

Merged
merged 1 commit into from
Feb 6, 2021

Commits on Jan 24, 2021

  1. [manylinux2014] Rework scripts to be more docker cache friendly

    This won't change travis-ci build time (at least for now) but allows maintainers/contributors to benefit from docker caching for local developments (faster builds at the expense of higher disk usage)
    
    Round 1
    
    Use docker multi-stage build to build the manylinux image in 3 steps:
    
    1. runtime_base: this image has all the necessary bits that are common to the build_base image and the manylinux image. This includes system packages required for runtime, the gcc toolchain & some basic tools.
    
    2. build_base: this image builds all the remaining tools required for the manylinux image. Any tool requiring specific system development package not required in the manylinux image shall be built from this image. For tools that used to be installed in /usr/local, they are staged in /manylinux-rootfs for an easy copy in the third stage.
    
    3. manylinux: This image uses the runtime_base image as a base image. Tools built in the 2nd step are copied directly in the final filesystem. A finalization script is then run to install the remaining python tools/dependencies and run checks.
    mayeut committed Jan 24, 2021
    Configuration menu
    Copy the full SHA
    c38b3bc View commit details
    Browse the repository at this point in the history