Instead of having one large Dockerfile building multiple images with relatively confusing inheritance, explicitly have three standalone Dockerfiles each building one image. Then, tie the three images together using the docker-compose file which explicitly versions the base image used by the Android and the Github Actions images.
39 lines
1.4 KiB
YAML
39 lines
1.4 KiB
YAML
#
|
|
# This docker compose file allows building the various Docker images we use for
|
|
# libc++'s CI. It encodes the versions of various tools included in these images.
|
|
#
|
|
# Images can be built with:
|
|
#
|
|
# $ docker compose --file libcxx/utils/ci/docker/docker-compose.yml build <image-name>
|
|
#
|
|
|
|
services:
|
|
libcxx-linux-builder-base:
|
|
image: ghcr.io/llvm/libcxx-linux-builder-base:${TAG:-latest}
|
|
build:
|
|
context: ../../../.. # monorepo root
|
|
dockerfile: libcxx/utils/ci/docker/linux-builder-base.dockerfile
|
|
args:
|
|
GCC_HEAD_VERSION: 16
|
|
LLVM_HEAD_VERSION: 22
|
|
|
|
libcxx-linux-builder:
|
|
image: ghcr.io/llvm/libcxx-linux-builder:${TAG:-latest}
|
|
build:
|
|
context: ../../../.. # monorepo root
|
|
dockerfile: libcxx/utils/ci/docker/linux-builder.dockerfile
|
|
args:
|
|
BASE_IMAGE_VERSION: 825943e06f840710177e5514c4f61c9e73660c44
|
|
GITHUB_RUNNER_VERSION: 2.329.0
|
|
|
|
libcxx-android-builder:
|
|
image: ghcr.io/llvm/libcxx-android-builder:${TAG:-latest}
|
|
build:
|
|
context: ../../../.. # monorepo root
|
|
dockerfile: libcxx/utils/ci/docker/android-builder.dockerfile
|
|
args:
|
|
BASE_IMAGE_VERSION: 825943e06f840710177e5514c4f61c9e73660c44
|
|
ANDROID_CLANG_VERSION: r563880
|
|
ANDROID_CLANG_PREBUILTS_COMMIT: 6ae4184bb8706f9731569b9a0a82be3fcdcb951c
|
|
ANDROID_SYSROOT_COMMIT: f8b85cc5262c6e5cbc9a92c1bab2b18b32a4c63f
|