import os

from actions_logging.app_logging import logger
from github.env import exit_on_error_and_write_summary, get_required_env_var, write_github_env


def main():
    env_name = get_required_env_var("ENV_NAME")
    override_prefix = os.getenv("OVERRIDE_PREFIX", "CHECKPOINT_OVERRIDE_")
    logger.info(f"Overriding env vars for environment {env_name} with values which keys start with {override_prefix}")
    try:
        for key in os.environ:
            if not key.startswith(override_prefix):
                continue
            n_key = key.replace(override_prefix, "")
            logger.info(f"Overriding current env var {n_key} value with {os.environ[key]}")
            write_github_env(os.environ[key], n_key)

    except Exception as e:
        exit_on_error_and_write_summary(f"Failed to override webclient env vars for {env_name}: {e}")


if __name__ == "__main__":
    main()
