@@ -48,18 +48,18 @@ def generate_strategy_matrix(all: bool, architecture: list[dict], os: list[dict]
4848 skip = True
4949 if os ['distro_version' ] == 'bookworm' :
5050 if f'{ os ['compiler_name' ]} -{ os ['compiler_version' ]} ' == 'gcc-13' and build_type == 'Release' and '-Dunity=ON' in cmake_args and architecture ['platform' ] == 'linux/arm64' :
51- cmake_args = f'{ cmake_args } -DUNIT_TEST_REFERENCE_FEE=500'
51+ cmake_args = f'-DUNIT_TEST_REFERENCE_FEE=500 { cmake_args } '
5252 skip = False
5353 if f'{ os ['compiler_name' ]} -{ os ['compiler_version' ]} ' == 'gcc-15' and build_type == 'Debug' and '-Dunity=OFF' in cmake_args and architecture ['platform' ] == 'linux/amd64' :
54- cmake_args = f'{ cmake_args } -Dcoverage=ON -Dcoverage_format=xml -DCODE_COVERAGE_VERBOSE=ON -DCMAKE_C_FLAGS=-O0 -DCMAKE_CXX_FLAGS=-O0'
54+ cmake_args = f'-Dcoverage=ON -Dcoverage_format=xml -DCODE_COVERAGE_VERBOSE=ON -DCMAKE_C_FLAGS=-O0 -DCMAKE_CXX_FLAGS=-O0 { cmake_args } '
5555 cmake_target = 'coverage'
5656 build_only = True
5757 skip = False
5858 if f'{ os ['compiler_name' ]} -{ os ['compiler_version' ]} ' == 'clang-16' and build_type == 'Debug' and '-Dunity=OFF' in cmake_args and architecture ['platform' ] == 'linux/arm64' :
59- cmake_args = f'{ cmake_args } -Dvoidstar=ON'
59+ cmake_args = f'-Dvoidstar=ON { cmake_args } '
6060 skip = False
6161 if f'{ os ['compiler_name' ]} -{ os ['compiler_version' ]} ' == 'clang-17' and build_type == 'Release' and '-Dunity=ON' in cmake_args and architecture ['platform' ] == 'linux/amd64' :
62- cmake_args = f'{ cmake_args } -DUNIT_TEST_REFERENCE_FEE=1000'
62+ cmake_args = f'-DUNIT_TEST_REFERENCE_FEE=1000 { cmake_args } '
6363 skip = False
6464 if f'{ os ['compiler_name' ]} -{ os ['compiler_version' ]} ' == 'clang-20' and build_type == 'Debug' and '-Dunity=ON' in cmake_args and architecture ['platform' ] == 'linux/amd64' :
6565 skip = False
@@ -123,6 +123,10 @@ def generate_strategy_matrix(all: bool, architecture: list[dict], os: list[dict]
123123 if os ['distro_name' ] == 'rhel' and architecture ['platform' ] == 'linux/arm64' :
124124 continue
125125
126+ # We skip all clang-20 on arm64 due to boost 1.86 build error
127+ if f'{ os ['compiler_name' ]} -{ os ['compiler_version' ]} ' == 'clang-20' and architecture ['platform' ] == 'linux/arm64' :
128+ continue
129+
126130 # Generate a unique name for the configuration, e.g. macos-arm64-debug
127131 # or debian-bookworm-gcc-12-amd64-release-unity.
128132 config_name = os ['distro_name' ]
@@ -137,14 +141,17 @@ def generate_strategy_matrix(all: bool, architecture: list[dict], os: list[dict]
137141 if '-Dunity=ON' in cmake_args :
138142 config_name += '-unity'
139143
144+ # Add the configuration to the list, with the most unique fields first,
145+ # so that they are easier to identify in the GitHub Actions UI, as long
146+ # names get truncated.
140147 configurations .append ({
141- 'architecture' : architecture ,
142- 'os' : os ,
143- 'build_type' : build_type ,
144- 'build_only' : 'true' if build_only else 'false' ,
148+ 'config_name' : config_name ,
145149 'cmake_args' : cmake_args ,
146150 'cmake_target' : cmake_target ,
147- 'config_name' : config_name ,
151+ 'build_only' : 'true' if build_only else 'false' ,
152+ 'build_type' : build_type ,
153+ 'os' : os ,
154+ 'architecture' : architecture ,
148155 })
149156
150157 return {'include' : configurations }
0 commit comments