xref: /aosp_15_r20/external/pytorch/.ci/docker/README.md (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker# Docker images for GitHub CI and CD
2*da0073e9SAndroid Build Coastguard Worker
3*da0073e9SAndroid Build Coastguard WorkerThis directory contains everything needed to build the Docker images
4*da0073e9SAndroid Build Coastguard Workerthat are used in our CI.
5*da0073e9SAndroid Build Coastguard Worker
6*da0073e9SAndroid Build Coastguard WorkerThe Dockerfiles located in subdirectories are parameterized to
7*da0073e9SAndroid Build Coastguard Workerconditionally run build stages depending on build arguments passed to
8*da0073e9SAndroid Build Coastguard Worker`docker build`. This lets us use only a few Dockerfiles for many
9*da0073e9SAndroid Build Coastguard Workerimages. The different configurations are identified by a freeform
10*da0073e9SAndroid Build Coastguard Workerstring that we call a _build environment_. This string is persisted in
11*da0073e9SAndroid Build Coastguard Workereach image as the `BUILD_ENVIRONMENT` environment variable.
12*da0073e9SAndroid Build Coastguard Worker
13*da0073e9SAndroid Build Coastguard WorkerSee `build.sh` for valid build environments (it's the giant switch).
14*da0073e9SAndroid Build Coastguard Worker
15*da0073e9SAndroid Build Coastguard Worker## Docker CI builds
16*da0073e9SAndroid Build Coastguard Worker
17*da0073e9SAndroid Build Coastguard Worker* `build.sh` -- dispatch script to launch all builds
18*da0073e9SAndroid Build Coastguard Worker* `common` -- scripts used to execute individual Docker build stages
19*da0073e9SAndroid Build Coastguard Worker* `ubuntu` -- Dockerfile for Ubuntu image for CPU build and test jobs
20*da0073e9SAndroid Build Coastguard Worker* `ubuntu-cuda` -- Dockerfile for Ubuntu image with CUDA support for nvidia-docker
21*da0073e9SAndroid Build Coastguard Worker* `ubuntu-rocm` -- Dockerfile for Ubuntu image with ROCm support
22*da0073e9SAndroid Build Coastguard Worker* `ubuntu-xpu` -- Dockerfile for Ubuntu image with XPU support
23*da0073e9SAndroid Build Coastguard Worker
24*da0073e9SAndroid Build Coastguard Worker### Docker CD builds
25*da0073e9SAndroid Build Coastguard Worker
26*da0073e9SAndroid Build Coastguard Worker* `conda` - Dockerfile and build.sh to build Docker images used in nightly conda builds
27*da0073e9SAndroid Build Coastguard Worker* `manywheel` - Dockerfile and build.sh to build Docker images used in nightly manywheel builds
28*da0073e9SAndroid Build Coastguard Worker* `libtorch` - Dockerfile and build.sh to build Docker images used in nightly libtorch builds
29*da0073e9SAndroid Build Coastguard Worker
30*da0073e9SAndroid Build Coastguard Worker## Usage
31*da0073e9SAndroid Build Coastguard Worker
32*da0073e9SAndroid Build Coastguard Worker```bash
33*da0073e9SAndroid Build Coastguard Worker# Build a specific image
34*da0073e9SAndroid Build Coastguard Worker./build.sh pytorch-linux-bionic-py3.8-gcc9 -t myimage:latest
35*da0073e9SAndroid Build Coastguard Worker
36*da0073e9SAndroid Build Coastguard Worker# Set flags (see build.sh) and build image
37*da0073e9SAndroid Build Coastguard Workersudo bash -c 'PROTOBUF=1 ./build.sh pytorch-linux-bionic-py3.8-gcc9 -t myimage:latest
38*da0073e9SAndroid Build Coastguard Worker```
39