@@ -125,12 +125,6 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
125125 if build_type == 'Release' :
126126 cmake_args = f'{ cmake_args } -Dassert=ON'
127127
128- if os ['distro_version' ] == 'bookworm' :
129- if sanitizers == 'Address' :
130- cmake_args += ' -fsanitize=address,undefined,float-divide-by-zero,unsigned-integer-overflow'
131- elif sanitizers == 'Thread' :
132- cmake_args += ' -fsanitize=thread,undefined,float-divide-by-zero,unsigned-integer-overflow'
133-
134128 # We skip all RHEL on arm64 due to a build failure that needs further
135129 # investigation.
136130 if os ['distro_name' ] == 'rhel' and architecture ['platform' ] == 'linux/arm64' :
@@ -163,17 +157,39 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
163157
164158 # Add the configuration to the list, with the most unique fields first,
165159 # so that they are easier to identify in the GitHub Actions UI, as long
166- # names get truncated.
167- configurations .append ({
168- 'config_name' : config_name ,
169- 'cmake_args' : cmake_args ,
170- 'cmake_target' : cmake_target ,
171- 'build_only' : build_only ,
172- 'build_type' : build_type ,
173- 'os' : os ,
174- 'architecture' : architecture ,
175- 'sanitizers' : sanitizers
176- })
160+ # names get truncated. Add Address and Thread (both coupled with UB) sanitizers when the distro is bookworm.
161+ if os ['distro_version' ] == 'bookworm' :
162+ configurations .append ({
163+ 'config_name' : config_name ,
164+ 'cmake_args' : cmake_args ,
165+ 'cmake_target' : cmake_target ,
166+ 'build_only' : build_only ,
167+ 'build_type' : build_type ,
168+ 'os' : os ,
169+ 'architecture' : architecture ,
170+ 'sanitizers' : "Address"
171+ })
172+ configurations .append ({
173+ 'config_name' : config_name ,
174+ 'cmake_args' : cmake_args ,
175+ 'cmake_target' : cmake_target ,
176+ 'build_only' : build_only ,
177+ 'build_type' : build_type ,
178+ 'os' : os ,
179+ 'architecture' : architecture ,
180+ 'sanitizers' : "Thread"
181+ })
182+ else :
183+ configurations .append ({
184+ 'config_name' : config_name ,
185+ 'cmake_args' : cmake_args ,
186+ 'cmake_target' : cmake_target ,
187+ 'build_only' : build_only ,
188+ 'build_type' : build_type ,
189+ 'os' : os ,
190+ 'architecture' : architecture ,
191+ 'sanitizers' : "None"
192+ })
177193
178194 return configurations
179195
0 commit comments