Skip to content

Cleanup build_backend pipeline

Emiel Wiedijk requested to merge cleanup-build into master

Based on !645 (closed)

This MR introduces several improvements to the build_backend pipeline.

First we switch the base image from Alpine to Debian:

Advantages:

  • More supported than Alpine: most projects assume glibc, instead of musl.
  • Support for manylinux2 wheels
  • Includes a lot of packages, among which curl, git, postgres, xml. Since the base image is cached, this saves (a bit) install time. The Debian-slim container does not include these packages.
  • Includes Python headers for the C extensions: since the Python headers should match with the Python binary of the container, it makes sense to use a container images which includes them. Debian-slim does not include these packages.

We also remove downloaded apt lists, pip packages and npm packages outside the container. This keeps the container a bit smaller.

Finally we use Kaniko to build the images, avoiding the need for another Docker in Docker service, and making it easier to run the pipeline in Kubernetes in the future.

Merge request reports