fix boolean conan options in dynamic CI matrix

This commit is contained in:
Yves Delley
2024-11-12 21:18:36 +01:00
parent a51462cc65
commit f4c8e901ac
2 changed files with 20 additions and 11 deletions

19
.github/job_matrix.py vendored
View File

@@ -35,12 +35,21 @@ class MatrixElement:
contracts: typing.Literal["none", "gsl-lite", "ms-gsl"]
build_type: typing.Literal["Release", "Debug"]
def as_json(self):
def dataclass_to_json(obj):
"""Convert dataclasses to something json-serialisable"""
if dataclasses.is_dataclass(obj):
return {
k: dataclass_to_json(v) for k, v in dataclasses.asdict(obj).items()
}
return obj
def dataclass_to_json(obj):
"""Convert dataclasses to something json-serialisable"""
if dataclasses.is_dataclass(obj):
return dataclasses.asdict(obj)
raise TypeError(f"Unknown object of type {type(obj).__name__}")
ret = dataclass_to_json(self)
# patch boolean conan configuration options
config = ret["config"]
for k in ["cxx_modules"]:
config[k] = "True" if config[k] else "False"
return ret
class CombinationCollector: