ARG BASE_IMAGE=ubuntu:22.04 ARG GRPC_BASE_IMAGE=${BASE_IMAGE} ARG INTEL_BASE_IMAGE=${BASE_IMAGE} FROM ${BASE_IMAGE} AS requirements ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y --no-install-recommends \ ca-certificates curl wget espeak-ng libgomp1 \ python3 python-is-python3 ffmpeg && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # The requirements-drivers target is for BUILD_TYPE specific items. If you need to install something specific to CUDA, or specific to ROCM, it goes here. FROM requirements AS requirements-drivers ARG BUILD_TYPE ARG CUDA_MAJOR_VERSION=12 ARG CUDA_MINOR_VERSION=0 ARG SKIP_DRIVERS=false ARG TARGETARCH ARG TARGETVARIANT ENV BUILD_TYPE=${BUILD_TYPE} # Vulkan requirements RUN < /etc/apt/sources.list.d/intel-graphics.list ################################### ################################### # The grpc target does one thing, it builds and installs GRPC. This is in it's own layer so that it can be effectively cached by CI. # You probably don't need to change anything here, and if you do, make sure that CI is adjusted so that the cache continues to work. FROM ${GRPC_BASE_IMAGE} AS grpc # This is a bit of a hack, but it's required in order to be able to effectively cache this layer in CI ARG GRPC_MAKEFLAGS="-j4 -Otarget" ARG GRPC_VERSION=v1.65.0 ARG CMAKE_FROM_SOURCE=false ARG CMAKE_VERSION=3.26.4 ENV MAKEFLAGS=${GRPC_MAKEFLAGS} WORKDIR /build RUN apt-get update && \ apt-get install -y --no-install-recommends \ ca-certificates \ build-essential curl libssl-dev \ git && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Install CMake (the version in 22.04 is too old) RUN <