#!/usr/bin/env python # internal use only # check if expire time is set for all artifacts import os import yaml IDF_PATH = os.getenv("IDF_PATH") if not IDF_PATH: print("Please set IDF_PATH before running this script") raise SystemExit(-1) GITLAB_CONFIG_FILE = os.path.join(os.getenv("IDF_PATH"), ".gitlab-ci.yml") def check_artifacts_expire_time(): with open(GITLAB_CONFIG_FILE, "r") as f: config = yaml.load(f) errors = [] print("expire time for jobs:") job_names = list(config.keys()) job_names.sort() for job_name in job_names: if job_name.startswith("."): # skip ignored jobs continue try: if "expire_in" not in config[job_name]["artifacts"]: errors.append(job_name) else: print("{}: {}".format(job_name, config[job_name]["artifacts"]["expire_in"])) except (KeyError, TypeError): # this is not job, or the job does not have artifacts pass if errors: print("\n\nThe following jobs did not set expire time for its artifacts") for error in errors: print(error) raise SystemExit(-2) if __name__ == '__main__': check_artifacts_expire_time()