28
28
# $ docker push ldionne/libcxx-builder
29
29
#
30
30
31
- FROM ubuntu:focal
31
+ FROM ubuntu:jammy
32
32
33
33
# Make sure apt-get doesn't try to prompt for stuff like our time zone, etc.
34
34
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
55
55
RUN locale-gen
56
56
57
57
# 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.
59
64
ENV LLVM_LATEST_VERSION=14
60
65
RUN apt-get update && apt-get install -y lsb-release wget software-properties-common
61
66
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
63
70
RUN bash /tmp/llvm.sh $(($LLVM_LATEST_VERSION - 1)) # previous release
64
71
RUN bash /tmp/llvm.sh $LLVM_LATEST_VERSION # latest release
65
72
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
79
86
RUN apt-get install -y clang-tidy-$LLVM_LATEST_VERSION
80
87
RUN ln -s /usr/bin/clang-tidy-$LLVM_LATEST_VERSION /usr/bin/clang-tidy && [ -e $(readlink /usr/bin/clang-tidy) ]
81
88
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))
85
92
RUN apt-get update && apt install -y gcc-$GCC_LATEST_VERSION g++-$GCC_LATEST_VERSION
86
93
87
94
# Install a recent CMake
0 commit comments