CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
71 lines
1.7 KiB
Python
71 lines
1.7 KiB
Python
# Copyright (c) Advanced Micro Devices, Inc.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
from pathlib import Path
|
|
from typing import Any, Union
|
|
|
|
from ruamel.yaml import YAML
|
|
from ruamel.yaml.comments import CommentedMap
|
|
|
|
# --- Round-trip YAML (for writing) ---
|
|
RT_YAML = YAML(typ="rt")
|
|
RT_YAML.preserve_quotes = True
|
|
RT_YAML.width = 4096 # prevent unwanted line wrapping
|
|
RT_YAML.indent(mapping=2, sequence=2, offset=0)
|
|
RT_YAML.explicit_start = False
|
|
RT_YAML.explicit_end = False
|
|
|
|
# --- Read-only YAML (safe loader) ---
|
|
RO_YAML = YAML(typ="safe")
|
|
RO_YAML.width = 4096
|
|
|
|
|
|
def load_yaml(
|
|
filepath: Union[str, Path],
|
|
*,
|
|
round_trip: bool = False,
|
|
) -> Any:
|
|
path = Path(filepath)
|
|
if not path.exists():
|
|
raise FileNotFoundError(f"YAML file not found: {path}")
|
|
|
|
yaml = RT_YAML if round_trip else RO_YAML
|
|
|
|
with open(path, "r", encoding="utf-8") as f:
|
|
return yaml.load(f) or CommentedMap()
|
|
|
|
|
|
def save_yaml(data: Any, filepath: Union[str, Path]) -> None:
|
|
path = Path(filepath)
|
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
|
|
with open(path, "w", encoding="utf-8") as f:
|
|
RT_YAML.dump(data, f)
|
|
|
|
|
|
def strip_existing_header(yaml_data) -> None:
|
|
ca = getattr(yaml_data, "ca", None)
|
|
if not ca or not hasattr(ca, "comment") or ca.comment is None:
|
|
return
|
|
|
|
original = ca.comment
|
|
|
|
cleaned = []
|
|
|
|
for block in original:
|
|
if block is None:
|
|
cleaned.append(None)
|
|
continue
|
|
|
|
new_block = [token for token in block if "AUTOGENERATED" not in token.value]
|
|
|
|
if not new_block:
|
|
cleaned.append(None)
|
|
else:
|
|
cleaned.append(new_block)
|
|
|
|
if len(cleaned) < 2:
|
|
cleaned.extend([None] * (2 - len(cleaned)))
|
|
|
|
ca.comment = cleaned
|