@@ -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
139147matrix = 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
145153matrix .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
153161if 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
163172matrix .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
175185matrix .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
189198matrix .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
198208matrix .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
208218matrix .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
218237matrix .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
252263matrix .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-
281277matrix .add_build (
282278 name = "alpine" ,
283279 image = "alpine" ,
@@ -294,7 +290,6 @@ def __str__(self):
294290# inception
295291matrix .add_build (
296292 name = "inception" ,
297- image = "bookworm" ,
298293 command_args = "--inception" ,
299294)
300295
0 commit comments