Skip to content

Commit 00a4493

Browse files
authored
Merge pull request #4787 from kinke/circle_bump_image
CircleCI: Bump jobs to Ubuntu 24
2 parents 40716be + 1dd76cc commit 00a4493

File tree

2 files changed

+34
-42
lines changed

2 files changed

+34
-42
lines changed

.circleci/config.yml

+30-39
Original file line numberDiff line numberDiff line change
@@ -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

9788
version: 2
9889
jobs:
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

122113
workflows:
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

tests/debuginfo/print_gdb.d

+4-3
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ void main()
9797
// CHECK: type = print_gdb.eA
9898
// GDB: whatis print_gdb.eA
9999
// CHECK: type = print_gdb.eA
100-
// GDB: p b_Glob
100+
// note: `b_Glob` worked with gdb v9; gdb v15 requires a fully qualified name
101+
// GDB: p inputs.import_b.b_Glob
101102
// CHECK: = 99.8
102103

103104
cC clsC = new cC;
@@ -106,7 +107,7 @@ void main()
106107
clsC.mixedVal++;
107108

108109
// BP
109-
// GDB: b print_gdb.d:109
110+
// GDB: b print_gdb.d:110
110111
// GDB: c
111112
// GDB: p *clsC
112113
// GDB: p clsC.classMemberFunc(6)
@@ -123,7 +124,7 @@ void main()
123124
templatedStruct!float tsF;
124125

125126
// BP
126-
// GDB: b print_gdb.d:126
127+
// GDB: b print_gdb.d:127
127128
// GDB: c
128129
// GDB: whatis tsF
129130
// CHECK: type = print_gdb.templatedStruct

0 commit comments

Comments
 (0)