OVMS3-idf/tools/ci/check_artifacts_expire_time.py
He Yin Ling b4fe43912f ci: adjust expire time for CI artifacts:
set shorter time to save some space on server. For those artifacts need
to be stored for long time, we can manually press "keep" button in job page.

Also add a CI job to check if all artifacts have set expire time.
2018-09-29 03:54:14 +00:00

52 lines
1.2 KiB
Python

#!/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 = 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()