| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/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(IDF_PATH, '.gitlab-ci.yml')
- def check_artifacts_expire_time():
- with open(GITLAB_CONFIG_FILE, 'r') as f:
- config = yaml.load(f, Loader=yaml.FullLoader)
- # load files listed in `include`
- if 'include' in config:
- for _file in config['include']:
- with open(os.path.join(IDF_PATH, _file)) as f:
- config.update(yaml.load(f, Loader=yaml.FullLoader))
- print('expire time for jobs:')
- errors = []
- job_names = list(config.keys())
- job_names.sort()
- for job_name in job_names:
- 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()
|