Skip to content

Commit a7bd1ab

Browse files
mordanteldionne
authored andcommitted
[libc++][CI] Updates Docker image.
- Updates the image to use Ubuntu Jammy. - Installs GCC-12 as preparation to migrate to that GCC version. NOTE: This is a re-application of f2f0dba, which was reverted in 2b5e3ef due to an issue with the CI nodes. The CI nodes have since then been updated and this appears to be fine. Differential Revision: https://reviews.llvm.org/D126666
1 parent 8e1a29e commit a7bd1ab

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

libcxx/utils/ci/Dockerfile

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
# $ docker push ldionne/libcxx-builder
2929
#
3030

31-
FROM ubuntu:focal
31+
FROM ubuntu:jammy
3232

3333
# Make sure apt-get doesn't try to prompt for stuff like our time zone, etc.
3434
ENV DEBIAN_FRONTEND=noninteractive
@@ -55,11 +55,18 @@ RUN printf "fr_CA ISO-8859-1\ncs_CZ ISO-8859-2" >> /usr/local/share/i1en/SUPPORT
5555
RUN locale-gen
5656

5757
# Install Clang <latest>, <latest-1> and ToT, which are the ones we support.
58-
# We also install <latest-2> to allow smooth CI transitions around release points.
58+
# We also install <latest-2> because we need to support the "latest-1" of the
59+
# current LLVM release branch, which is effectively the <latest-2> of the
60+
# tip-of-trunk LLVM. For example, after branching LLVM 14 but before branching
61+
# LLVM 15, we still need to have Clang 12 in this Docker image because the LLVM
62+
# 14 release branch CI uses it. The tip-of-trunk CI will never use Clang 12,
63+
# though.
5964
ENV LLVM_LATEST_VERSION=14
6065
RUN apt-get update && apt-get install -y lsb-release wget software-properties-common
6166
RUN wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh
62-
RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 2)) # for CI transitions
67+
# TODO Use the apt.llvm.org version after branching to LLVM 15
68+
RUN apt-get update && apt-get install -y clang-$(($LLVM_LATEST_VERSION - 2))
69+
#RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 2)) # for CI transitions
6370
RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 1)) # previous release
6471
RUN bash /tmp/llvm.sh $LLVM_LATEST_VERSION # latest release
6572
RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION + 1)) # current ToT
@@ -79,9 +86,9 @@ RUN ln -s /usr/bin/git-clang-format-$LLVM_LATEST_VERSION /usr/bin/git-clang-form
7986
RUN apt-get install -y clang-tidy-$LLVM_LATEST_VERSION
8087
RUN ln -s /usr/bin/clang-tidy-$LLVM_LATEST_VERSION /usr/bin/clang-tidy && [ -e $(readlink /usr/bin/clang-tidy) ]
8188

82-
# Install the most recent GCC
83-
ENV GCC_LATEST_VERSION=11
84-
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
89+
# Install the most recent GCC, like clang install the previous version as a transition.
90+
ENV GCC_LATEST_VERSION=12
91+
RUN apt-get update && apt install -y gcc-$((GCC_LATEST_VERSION - 1)) g++-$((GCC_LATEST_VERSION - 1))
8592
RUN apt-get update && apt install -y gcc-$GCC_LATEST_VERSION g++-$GCC_LATEST_VERSION
8693

8794
# Install a recent CMake

0 commit comments

Comments
 (0)