gen-matrix-build.py 750 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python3
  2. import json
  3. from ruamel.yaml import YAML
  4. yaml = YAML(typ='safe')
  5. entries = []
  6. with open('.github/data/distros.yml') as f:
  7. data = yaml.load(f)
  8. for i, v in enumerate(data['include']):
  9. e = {
  10. 'artifact_key': v['distro'] + str(v['version']).replace('.', ''),
  11. 'version': v['version'],
  12. }
  13. if 'base_image' in v:
  14. e['distro'] = v['base_image']
  15. else:
  16. e['distro'] = ':'.join([v['distro'], str(v['version'])])
  17. if 'env_prep' in v:
  18. e['env_prep'] = v['env_prep']
  19. if 'jsonc_removal' in v:
  20. e['jsonc_removal'] = v['jsonc_removal']
  21. entries.append(e)
  22. entries.sort(key=lambda k: k['distro'])
  23. matrix = json.dumps({'include': entries}, sort_keys=True)
  24. print(matrix)