[libcxx-commits] [PATCH] D126666: [libc++][CI] Updates Docker image.

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jun 3 09:06:25 PDT 2022

Mordante updated this revision to Diff 434042.
Mordante marked 2 inline comments as done.
Mordante added a comment.

Addresses review comments.

  rG LLVM Github Monorepo




Index: libcxx/utils/ci/Dockerfile
--- libcxx/utils/ci/Dockerfile
+++ libcxx/utils/ci/Dockerfile
@@ -28,7 +28,7 @@
 #   $ docker push ldionne/libcxx-builder
-FROM ubuntu:focal
+FROM ubuntu:jammy
 # Make sure apt-get doesn't try to prompt for stuff like our time zone, etc.
 ENV DEBIAN_FRONTEND=noninteractive
@@ -55,11 +55,18 @@
 RUN locale-gen
 # Install Clang <latest>, <latest-1> and ToT, which are the ones we support.
-# We also install <latest-2> to allow smooth CI transitions around release points.
+# We also install <latest-2> because we need to support the "latest-1" of the
+# current LLVM release branch, which is effectively the <latest-2> of the
+# tip-of-trunk LLVM. For example, after branching LLVM 14 but before branching
+# LLVM 15, we still need to have Clang 12 in this Docker image because the LLVM
+# 14 release branch CI uses it. The tip-of-trunk CI will never use Clang 12,
+# though.
 RUN apt-get update && apt-get install -y lsb-release wget software-properties-common
 RUN wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh
-RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 2)) # for CI transitions
+# TODO Use the apt.llvm.org version after branching to LLVM 15
+RUN apt-get update && apt-get install -y clang-$(($LLVM_LATEST_VERSION - 2))
+#RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 2)) # for CI transitions
 RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 1)) # previous release
 RUN bash /tmp/llvm.sh $LLVM_LATEST_VERSION          # latest release
 RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION + 1)) # current ToT
@@ -79,10 +86,10 @@
 RUN apt-get install -y clang-tidy-$LLVM_LATEST_VERSION
 RUN ln -s /usr/bin/clang-tidy-$LLVM_LATEST_VERSION /usr/bin/clang-tidy && [ -e $(readlink /usr/bin/clang-tidy) ]
-# Install the most recent GCC
-RUN add-apt-repository ppa:ubuntu-toolchain-r/test
+# Install the most recent GCC, like clang install the previous version as a transition.
 RUN apt-get update && apt install -y gcc-$GCC_LATEST_VERSION g++-$GCC_LATEST_VERSION
+RUN apt-get update && apt install -y gcc-$((GCC_LATEST_VERSION - 1)) g++-$((GCC_LATEST_VERSION - 1))
 # Install a recent CMake
 RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-linux-x86_64.sh -O /tmp/install-cmake.sh

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126666.434042.patch
Type: text/x-patch
Size: 2413 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220603/64b6a00c/attachment-0001.bin>

More information about the libcxx-commits mailing list