@@ -9,36 +9,26 @@ commonSteps: &commonSteps
9
9
if [ "$CI_OS" = "linux" ]; then
10
10
export DEBIAN_FRONTEND=noninteractive
11
11
if [[ "${EXTRA_CMAKE_FLAGS:-}" = *-DMULTILIB?ON* ]]; then
12
- dpkg --add-architecture i386
12
+ sudo dpkg --add-architecture i386
13
13
gcc_pkg="g++-multilib"
14
- libcurl_pkg="libcurl4 libcurl4 :i386"
14
+ libcurl_pkg="libcurl4t64 libcurl4t64 :i386"
15
15
else
16
16
gcc_pkg="g++"
17
- libcurl_pkg="libcurl4 "
17
+ libcurl_pkg="libcurl4t64 "
18
18
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 \
24
24
${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
35
25
# Download & extract Ninja
36
26
curl -fL --retry 3 --max-time 60 -O https://github.com/symmetryinvestments/ninja/releases/download/v1.11.1-sym1/ninja-linux.zip
37
27
mkdir ninja
38
28
unzip ninja-linux.zip -d ninja
39
29
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
42
32
fi
43
33
# Install lit
44
34
python3 --version
@@ -78,50 +68,51 @@ commonSteps: &commonSteps
78
68
- run :
79
69
name : Run LIT testsuite
80
70
when : always
81
- command : cd ../build/tests && python3 runlit.py -v -j $PARALLELISM .
82
- - run :
83
- name : Run DMD testsuite
84
- when : always
85
71
command : |
86
- cd ../build
72
+ set -ux
87
73
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
90
76
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
92
83
- run :
93
84
name : Run defaultlib unittests & druntime integration tests
94
85
when : always
95
86
command : cd ../build && ctest -j$PARALLELISM --output-on-failure -E "dmd-testsuite|ldc2-unittest|lit-tests"
96
87
97
88
version : 2
98
89
jobs :
99
- Ubuntu-20 .04-multilib-rtSanitizers :
90
+ Ubuntu-24 .04-multilib-rtSanitizers :
100
91
<< : *commonSteps
101
- docker :
102
- - image : ubuntu:20.04
92
+ machine :
93
+ image : ubuntu-2404:current
103
94
resource_class : large
104
95
environment :
105
96
- PARALLELISM : 4
106
97
- 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
109
100
- 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 :
111
102
<< : *commonSteps
112
- docker :
113
- - image : ubuntu:20.04
103
+ machine :
104
+ image : ubuntu-2404:current
114
105
resource_class : large
115
106
environment :
116
107
- PARALLELISM : 4
117
108
- CI_OS : linux
118
- - LLVM_MAJOR : 15
109
+ - LLVM_MAJOR : 18
119
110
- EXTRA_APT_PACKAGES : gdmd
120
111
- EXTRA_CMAKE_FLAGS : " -DBUILD_SHARED_LIBS=ON -DBUILD_LTO_LIBS=ON -DD_COMPILER=gdmd -DLDC_LINK_MANUALLY=ON"
121
112
122
113
workflows :
123
114
version : 2
124
115
build :
125
116
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