mirror of
https://github.com/mpusz/mp-units.git
synced 2025-06-25 01:01:33 +02:00
exclude clang18+debug from freestanding again
This commit is contained in:
11
.github/generate-job-matrix.py
vendored
11
.github/generate-job-matrix.py
vendored
@ -119,7 +119,12 @@ def main():
|
|||||||
|
|
||||||
rgen = random.Random(args.seed)
|
rgen = random.Random(args.seed)
|
||||||
|
|
||||||
collector = CombinationCollector(full_matrix)
|
collector = CombinationCollector(
|
||||||
|
full_matrix,
|
||||||
|
hard_excludes=lambda e: (
|
||||||
|
e.formatting == "std::format" and not e.config.std_format_support
|
||||||
|
),
|
||||||
|
)
|
||||||
match args.preset:
|
match args.preset:
|
||||||
case None:
|
case None:
|
||||||
pass
|
pass
|
||||||
@ -143,7 +148,11 @@ def main():
|
|||||||
case "clang-tidy":
|
case "clang-tidy":
|
||||||
collector.all_combinations(config=configs["Clang-18 (x86-64)"])
|
collector.all_combinations(config=configs["Clang-18 (x86-64)"])
|
||||||
case "freestanding":
|
case "freestanding":
|
||||||
|
# TODO For some reason Clang-18 Debug with -ffreestanding does not pass CMakeTestCXXCompiler
|
||||||
collector.all_combinations(
|
collector.all_combinations(
|
||||||
|
filter=lambda e: not (
|
||||||
|
e.config.name.startswith("Clang-18") and e.build_type == "Debug"
|
||||||
|
),
|
||||||
config=[configs[c] for c in ["GCC-14", "Clang-18 (x86-64)"]],
|
config=[configs[c] for c in ["GCC-14", "Clang-18 (x86-64)"]],
|
||||||
contracts="none",
|
contracts="none",
|
||||||
std=23,
|
std=23,
|
||||||
|
10
.github/job_matrix.py
vendored
10
.github/job_matrix.py
vendored
@ -55,8 +55,14 @@ class MatrixElement:
|
|||||||
class CombinationCollector:
|
class CombinationCollector:
|
||||||
"""Incremental builder of MatrixElements, allowing successive selection of entries."""
|
"""Incremental builder of MatrixElements, allowing successive selection of entries."""
|
||||||
|
|
||||||
def __init__(self, full_matrix: dict[str, list[typing.Any]]):
|
def __init__(
|
||||||
|
self,
|
||||||
|
full_matrix: dict[str, list[typing.Any]],
|
||||||
|
*,
|
||||||
|
hard_excludes: typing.Callable[[MatrixElement], bool] | None = None,
|
||||||
|
):
|
||||||
self.full_matrix = full_matrix
|
self.full_matrix = full_matrix
|
||||||
|
self.hard_excludes = hard_excludes
|
||||||
self.combinations: set[MatrixElement] = set()
|
self.combinations: set[MatrixElement] = set()
|
||||||
self.per_value_counts: dict[tuple[str, typing.Any], int] = {
|
self.per_value_counts: dict[tuple[str, typing.Any], int] = {
|
||||||
(k, v): 0 for k, options in full_matrix.items() for v in options
|
(k, v): 0 for k, options in full_matrix.items() for v in options
|
||||||
@ -72,7 +78,7 @@ class CombinationCollector:
|
|||||||
|
|
||||||
def _add_combination(self, e: MatrixElement):
|
def _add_combination(self, e: MatrixElement):
|
||||||
if e in self.combinations or (
|
if e in self.combinations or (
|
||||||
e.formatting == "std::format" and not e.config.std_format_support
|
self.hard_excludes is not None and self.hard_excludes(e)
|
||||||
):
|
):
|
||||||
return
|
return
|
||||||
self.combinations.add(e)
|
self.combinations.add(e)
|
||||||
|
Reference in New Issue
Block a user