INNER CODE UNIT · Python
load_schedule_configs
trinodb/trino · .github/bin/build-matrix-schedule-aware.py:195
def load_schedule_configs(stream) -> list[ScheduleConfigItem]:
"""Parses a YAML stream into ScheduleConfigItem objects"""
config = _require_type(yaml.safe_load(stream), list, "config")
logging.info("Read config: %s", config)
configs = []
for item in config:
item = _require_type(item, dict, "config item")
module_sets = _expect_str_lists(item, "modules")
if not module_sets:
raise ValueError("modules should have at least one element")
profile = item.get("profile")
if profile is not None:
_require_type(profile, str, "profile")
profiles = [profile] if profile is not None else []
runners = _expect_str_list(item, "runners")
notify_channels = _expect_str_list(item, "notify-channels")
when = (
load_when(_require_type(item["when"], dict, "when"))