import os
import sys

import yaml

sys.path.append("./senior-ci")

from common import print_message


def _validate_yaml():
    try:
        with open(file_path, encoding="utf-8") as stream:
            yaml.safe_load(stream)
        print_message(f"{file_path} is valid YAML")
    except yaml.YAMLError as err:
        print_message(f"{file_path} is invalid YAML: {err}")


print_message("Validating YAMLs...")

for root, dirs, files in os.walk("."):
    if "senior-ci" in dirs:
        dirs.remove("senior-ci")
    for file in files:
        if file.endswith(".yaml") or file.endswith(".yml"):
            file_path = os.path.join(root, file)
            _validate_yaml()
