Skip to content

Commit c9019bd

Browse files
committed
matrix: deprecate focal, new imgs, more arm64
problem: We need to test the newer containers, and have only the one image built for arm64 solution: update several of our tests to new container versions, build noble, fedora40, el8 for arm, focal remains but should be removed in the near future
1 parent 9436a9c commit c9019bd

File tree

2 files changed

+44
-48
lines changed

2 files changed

+44
-48
lines changed

src/test/docker/fedora40/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ RUN dnf -y install \
7171
aspell-en \
7272
time \
7373
glibc-langpack-en \
74+
lcov \
7475
&& dnf clean all
7576

7677
# Add /usr/bin/mpicc link so MPI tests are built

src/test/generate-matrix.py

Lines changed: 43 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def env_add_s3(self, args, env):
6767
def add_build(
6868
self,
6969
name=None,
70-
image="bookworm",
70+
image="fedora40",
7171
args=default_args,
7272
jobs=4,
7373
env=None,
@@ -84,6 +84,14 @@ def add_build(
8484
# Extra environment to add to this command:
8585
env = env or {}
8686

87+
# hwloc tries to look for opengl devices by connecting to a port that might
88+
# sometimes be an x11 port, but more often for us is munge, turn it off
89+
env["HWLOC_COMPONENTS"] = "-gl"
90+
# the psm3 connector added to libfabrics in ~1.12 causes errors when allowed to
91+
# use non-local connectors on a system with virtual NICs, since we're in a
92+
# docker container, prevent this
93+
env["PSM3_HAL"] = "loopback"
94+
8795
needs_buildx = False
8896
if platform:
8997
command_args += f"--platform={platform}"
@@ -138,8 +146,8 @@ def __str__(self):
138146

139147
matrix = BuildMatrix()
140148

141-
# Debian: no args
142-
matrix.add_build(name="bookworm")
149+
# Fedora40: no args
150+
matrix.add_build(name="fedora40")
143151

144152
# Debian: 32b
145153
matrix.add_build(
@@ -149,19 +157,21 @@ def __str__(self):
149157
docker_tag=True,
150158
)
151159

152-
# Debian: arm64, expensive, only on master and tags, only install
160+
# debian/Fedora40: arm64, expensive, only on master and tags, only install
153161
if matrix.branch == "master" or matrix.tag:
154-
matrix.add_build(
155-
name="bookworm - arm64",
156-
image="bookworm",
157-
platform="linux/arm64",
158-
docker_tag=True,
159-
command_args="--install-only ",
160-
)
162+
for d in ("bookworm", "noble", "fedora40", "el9"):
163+
matrix.add_build(
164+
name=f"{d} - arm64",
165+
image="{d}",
166+
platform="linux/arm64",
167+
docker_tag=True,
168+
command_args="--install-only ",
169+
)
161170

162171
# Debian: gcc-12, content-s3, distcheck
163172
matrix.add_build(
164173
name="bookworm - gcc-12,content-s3,distcheck",
174+
image="bookworm",
165175
env=dict(
166176
CC="gcc-12",
167177
CXX="g++12",
@@ -171,14 +181,13 @@ def __str__(self):
171181
test_s3=True,
172182
)
173183

174-
# Ubuntu: py3.11,clang-15
184+
# fedora40: clang-18
175185
matrix.add_build(
176-
name="bookworm - py3.11,clang-15",
186+
name="fedora40 - clang-18",
177187
env=dict(
178-
CC="clang-15",
179-
CXX="clang++-15",
188+
CC="clang-18",
189+
CXX="clang++-18",
180190
CFLAGS="-O2 -gdwarf-4",
181-
PYTHON_VERSION="3.11",
182191
chain_lint="t",
183192
),
184193
args="--with-flux-security",
@@ -188,6 +197,7 @@ def __str__(self):
188197
# coverage
189198
matrix.add_build(
190199
name="coverage",
200+
image="bookworm",
191201
coverage_flags="ci-basic",
192202
coverage=True,
193203
jobs=4,
@@ -196,24 +206,33 @@ def __str__(self):
196206

197207
# Ubuntu: TEST_INSTALL
198208
matrix.add_build(
199-
name="jammy - test-install",
200-
image="jammy",
209+
name="noble - test-install",
210+
image="noble",
201211
env=dict(
202212
TEST_INSTALL="t",
203213
),
204214
docker_tag=True,
205215
)
206216

207-
# Debian: TEST_INSTALL
217+
# el9: TEST_INSTALL
208218
matrix.add_build(
209-
name="bookworm - test-install",
219+
name="el9 - test-install",
220+
image="el9",
210221
env=dict(
211222
TEST_INSTALL="t",
212223
),
213224
platform="linux/amd64",
214225
docker_tag=True,
215226
)
216227

228+
# Ubuntu 20.04: py3.8
229+
matrix.add_build(
230+
name="focal - py3.8",
231+
image="focal",
232+
env=dict(PYTHON_VERSION="3.8"),
233+
docker_tag=True,
234+
)
235+
217236
# RHEL8 clone
218237
matrix.add_build(
219238
name="el8",
@@ -240,44 +259,21 @@ def __str__(self):
240259
args="--with-flux-security --enable-caliper",
241260
)
242261

243-
# Fedora 34
244-
matrix.add_build(
245-
name="fedora34 - gcc-11.2,py3.9",
246-
image="fedora34",
247-
docker_tag=True,
248-
)
249-
250-
# Fedora 38
251-
# Note: caliper does not compile on Fedora 38
262+
# Fedora 40
252263
matrix.add_build(
253-
name="fedora38 - gcc-13.1,py3.11",
254-
image="fedora38",
264+
name="fedora40 - gcc-14.1,py3.12",
265+
image="fedora40",
255266
args=(
256267
"--prefix=/usr"
257268
" --sysconfdir=/etc"
258269
" --with-systemdsystemunitdir=/etc/systemd/system"
259270
" --localstatedir=/var"
260271
" --with-flux-security"
272+
" --enable-caliper"
261273
),
262274
docker_tag=True,
263275
)
264276

265-
# Fedora 39
266-
# Note: caliper does not compile on Fedora 38
267-
matrix.add_build(
268-
name="fedora39 - gcc-13.2,py3.12",
269-
image="fedora39",
270-
args=(
271-
"--prefix=/usr"
272-
" --sysconfdir=/etc"
273-
" --with-systemdsystemunitdir=/etc/systemd/system"
274-
" --localstatedir=/var"
275-
" --with-flux-security"
276-
),
277-
env=dict(PSM3_HAL="loopback"),
278-
docker_tag=True,
279-
)
280-
281277
matrix.add_build(
282278
name="alpine",
283279
image="alpine",
@@ -294,7 +290,6 @@ def __str__(self):
294290
# inception
295291
matrix.add_build(
296292
name="inception",
297-
image="bookworm",
298293
command_args="--inception",
299294
)
300295

0 commit comments

Comments
 (0)