@@ -14,8 +14,7 @@ ARG UV_CACHE_DIR=/.cache/uv
1414
1515FROM ghcr.io/astral-sh/uv:latest AS uv_builder
1616
17- FROM ubuntu:22.04 AS base_image
18- RUN rm -f /etc/apt/apt.conf.d/docker-clean
17+ FROM ubuntu:24.04 AS base_image
1918RUN --mount=type=cache,target=/var/cache/apt \
2019 DEBIAN_FRONTEND="noninteractive" apt-get update && \
2120 apt-get install -yqq software-properties-common gpg-agent --no-install-recommends && \
@@ -32,10 +31,8 @@ RUN --mount=type=cache,target=/var/cache/apt \
3231 python3-pip \
3332 python3-venv \
3433 ca-certificates \
35- software-properties-common \
36- jq \
37- unzip && \
38- rm -rf /var/lib/apt/lists/*
34+ software-properties-common
35+
3936
4037# ==============================================================================
4138FROM base_image AS dr_memory_builder
@@ -65,14 +62,19 @@ RUN case $(uname -m) in \
6562
6663
6764FROM base_image AS conan_builder
65+ RUN --mount=type=cache,target=/var/cache/apt \
66+ DEBIAN_FRONTEND="noninteractive" apt-get update && \
67+ apt-get install -yqq --no-install-recommends \
68+ jq \
69+ unzip
70+
6871ARG CONAN_USER_HOME
6972ARG PIP_EXTRA_INDEX_URL
7073ARG PIP_INDEX_URL
7174ARG UV_EXTRA_INDEX_URL
7275ARG UV_INDEX_URL
7376
7477COPY --from=uv_builder /uv /uvx /bin/
75- COPY ci/docker/linux/shared/ensure_compiler_support_by_conan.py /tmp/ensure_compiler_support_by_conan.py
7678ARG UV_CACHE_DIR
7779ARG PIP_DOWNLOAD_CACHE
7880ARG CONAN_CENTER_PROXY_V2_URL
@@ -87,7 +89,6 @@ RUN --mount=type=cache,target=${PIP_DOWNLOAD_CACHE} \
8789 --mount=type=bind,source=uv.lock,target=${UV_PROJECT}/uv.lock \
8890 --mount=type=bind,source=conanfile.py,target=/tmp/conanfile.py \
8991 uv run --only-group=conan conan profile detect --exist-ok && \
90- python3 /tmp/ensure_compiler_support_by_conan.py $(uv run --only-group=conan conan config home)/settings.yml 11.4 && \
9192 if [ "$(jq -r '.remotes[0].url' ${CONAN_HOME}/remotes.json )" != "${CONAN_CENTER_PROXY_V2_URL}" ]; then \
9293 echo "Setting the conan center url for building cache: ${CONAN_CENTER_PROXY_V2_URL}" && \
9394 cp ${CONAN_HOME}/remotes.json /tmp/remotes.json && \
@@ -104,7 +105,7 @@ RUN --mount=type=cache,target=${PIP_DOWNLOAD_CACHE} \
104105# shared files are needed to run the Build C++ Tests stage
105106
106107FROM base_image
107-
108+ COPY --from=uv_builder /uv /uvx /bin/
108109# -----------------------------------------------------------------------------
109110# Install sonar build-wrapper
110111# -----------------------------------------------------------------------------
0 commit comments