This directory contains everything needed to build the Docker images that are used in our CI.
The Dockerfiles located in subdirectories are parameterized to
conditionally run build stages depending on build arguments passed to
docker build
. This lets us use only a few Dockerfiles for many
images. The different configurations are identified by a freeform
string that we call a build environment. This string is persisted in
each image as the BUILD_ENVIRONMENT
environment variable.
See build.sh
for valid build environments (it's the giant switch).
build.sh
-- dispatch script to launch all buildscommon
-- scripts used to execute individual Docker build stagesubuntu
-- Dockerfile for Ubuntu image for CPU build and test jobsubuntu-cuda
-- Dockerfile for Ubuntu image with CUDA support for nvidia-dockerubuntu-rocm
-- Dockerfile for Ubuntu image with ROCm supportubuntu-xpu
-- Dockerfile for Ubuntu image with XPU support
# Build a specific image
./build.sh pytorch-linux-bionic-py3.8-gcc9 -t myimage:latest
# Set flags (see build.sh) and build image
sudo bash -c 'PROTOBUF=1 ./build.sh pytorch-linux-bionic-py3.8-gcc9 -t myimage:latest