@@ -9,36 +9,26 @@ commonSteps: &commonSteps
99 if [ "$CI_OS" = "linux" ]; then
1010 export DEBIAN_FRONTEND=noninteractive
1111 if [[ "${EXTRA_CMAKE_FLAGS:-}" = *-DMULTILIB?ON* ]]; then
12- dpkg --add-architecture i386
12+ sudo dpkg --add-architecture i386
1313 gcc_pkg="g++-multilib"
14- libcurl_pkg="libcurl4 libcurl4 :i386"
14+ libcurl_pkg="libcurl4t64 libcurl4t64 :i386"
1515 else
1616 gcc_pkg="g++"
17- libcurl_pkg="libcurl4 "
17+ libcurl_pkg="libcurl4t64 "
1818 fi
19- apt-get -q update
20- apt-get -yq install \
21- git-core $gcc_pkg \
22- zlib1g- dev $libcurl_pkg curl gdb python3 python3-pip tzdata unzip zip \
23- software-properties-common gnupg \
19+ sudo apt-get -q update
20+ sudo apt-get -yq install \
21+ git-core $gcc_pkg cmake \
22+ llvm-$LLVM_MAJOR- dev libclang-common-$LLVM_MAJOR-dev zlib1g-dev \
23+ $libcurl_pkg curl gdb python3 python3-pip tzdata unzip zip \
2424 ${EXTRA_APT_PACKAGES:-}
25- # set up apt.llvm.org repo for being able to install more recent LLVM versions than provided by the distro
26- curl -fsS https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
27- add-apt-repository -y "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM_MAJOR main"
28- apt-get -q update
29- apt-get -yq install llvm-$LLVM_MAJOR-dev libclang-common-$LLVM_MAJOR-dev
30- # Download & extract CMake
31- curl -fL --retry 3 --max-time 300 -o cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v3.27.1/cmake-3.27.1-linux-x86_64.tar.gz
32- mkdir cmake
33- tar -xf cmake.tar.gz --strip 1 -C cmake
34- rm cmake.tar.gz
3525 # Download & extract Ninja
3626 curl -fL --retry 3 --max-time 60 -O https://github.com/symmetryinvestments/ninja/releases/download/v1.11.1-sym1/ninja-linux.zip
3727 mkdir ninja
3828 unzip ninja-linux.zip -d ninja
3929 rm ninja-linux.zip
40- # Add CMake and Ninja to PATH for future steps
41- echo "export PATH=$PWD/cmake/bin:$PWD/ ninja:$PATH" >> $BASH_ENV
30+ # Add Ninja to PATH for future steps
31+ echo "export PATH=$PWD/ninja:\ $PATH" >> $BASH_ENV
4232 fi
4333 # Install lit
4434 python3 --version
@@ -78,50 +68,51 @@ commonSteps: &commonSteps
7868 - run :
7969 name : Run LIT testsuite
8070 when : always
81- command : cd ../build/tests && python3 runlit.py -v -j $PARALLELISM .
82- - run :
83- name : Run DMD testsuite
84- when : always
8571 command : |
86- cd ../build
72+ set -ux
8773 if [ "$CI_OS" = "linux" ]; then
88- # Circle's RAM disk FS apparently doesn't allow long paths.
89- rm ../project/ tests/dmd/compilable/issue17167.sh
74+ # FIXME: lsan_interceptors.cpp:82 "((!lsan_init_is_running)) != (0)"
75+ rm tests/sanitizers/lsan_memleak.d
9076 fi
91- DMD_TESTSUITE_MAKE_ARGS=-j$PARALLELISM ctest -V -R dmd-testsuite
77+ cd ../build/tests
78+ python3 runlit.py -v -j $PARALLELISM .
79+ - run :
80+ name : Run DMD testsuite
81+ when : always
82+ command : cd ../build && DMD_TESTSUITE_MAKE_ARGS=-j$PARALLELISM ctest -V -R dmd-testsuite
9283 - run :
9384 name : Run defaultlib unittests & druntime integration tests
9485 when : always
9586 command : cd ../build && ctest -j$PARALLELISM --output-on-failure -E "dmd-testsuite|ldc2-unittest|lit-tests"
9687
9788version : 2
9889jobs :
99- Ubuntu-20 .04-multilib-rtSanitizers :
90+ Ubuntu-24 .04-multilib-rtSanitizers :
10091 << : *commonSteps
101- docker :
102- - image : ubuntu:20.04
92+ machine :
93+ image : ubuntu-2404:current
10394 resource_class : large
10495 environment :
10596 - PARALLELISM : 4
10697 - CI_OS : linux
107- - LLVM_MAJOR : 15
108- - HOST_LDC_VERSION : 1.24 .0
98+ - LLVM_MAJOR : 18
99+ - HOST_LDC_VERSION : 1.39 .0
109100 - EXTRA_CMAKE_FLAGS : " -DMULTILIB=ON -DRT_SUPPORT_SANITIZERS=ON -DBUILD_LTO_LIBS=ON"
110- Ubuntu-20 .04-sharedLibsOnly-gdmd :
101+ Ubuntu-24 .04-sharedLibsOnly-gdmd :
111102 << : *commonSteps
112- docker :
113- - image : ubuntu:20.04
103+ machine :
104+ image : ubuntu-2404:current
114105 resource_class : large
115106 environment :
116107 - PARALLELISM : 4
117108 - CI_OS : linux
118- - LLVM_MAJOR : 15
109+ - LLVM_MAJOR : 18
119110 - EXTRA_APT_PACKAGES : gdmd
120111 - EXTRA_CMAKE_FLAGS : " -DBUILD_SHARED_LIBS=ON -DBUILD_LTO_LIBS=ON -DD_COMPILER=gdmd -DLDC_LINK_MANUALLY=ON"
121112
122113workflows :
123114 version : 2
124115 build :
125116 jobs :
126- - Ubuntu-20 .04-multilib-rtSanitizers
127- - Ubuntu-20 .04-sharedLibsOnly-gdmd
117+ - Ubuntu-24 .04-multilib-rtSanitizers
118+ - Ubuntu-24 .04-sharedLibsOnly-gdmd
0 commit comments