.. code-block:: console
- $ ./hammer.py supported-systems
- fedora:
- - 27: lxc, virtualbox
- - 28: lxc, virtualbox
- - 29: lxc, virtualbox
- centos:
- - 7: lxc, virtualbox
- rhel:
- - 8: virtualbox
- ubuntu:
- - 16.04: lxc, virtualbox
- - 18.04: lxc, virtualbox
- - 18.10: lxc, virtualbox
- debian:
- - 8: lxc, virtualbox
- - 9: lxc, virtualbox
- freebsd:
- - 11.2: virtualbox
- - 12.0: virtualbox
+ $ ./hammer.py supported-systems
+ fedora:
+ - 37: lxc
+ - 38:
+ centos:
+ - 8: lxc, virtualbox
+ - 9:
+ rhel:
+ - 8: virtualbox
+ - 9:
+ ubuntu:
+ - 18.04: lxc, virtualbox
+ - 20.04: lxc
+ - 22.04: lxc
+ debian:
+ - 10: lxc, virtualbox
+ - 11: lxc
+ - 12: lxc
+ freebsd:
+ - 12.0: virtualbox
+ - 12.1:
+ - 13.0: virtualbox
+ alpine:
+ - 3.15: lxc
+ - 3.16: lxc
+ - 3.17: lxc
It is also possible to run the build locally, in the current system (if the OS
is supported).
import xml.etree.ElementTree as ET
+# SYSTEMS = {
+# 'os': [
+# ( 'version', True if supported else False ),
+# ...
+# ],
+# ...
+# }
SYSTEMS = {
'fedora': [
- #'27', # EOLed
- #'28', # EOLed
- #'29', # EOLed
- #'30', # EOLed
- #'31', # EOLed
- '32', # EOLed
- '33', # EOLed
- '34',
- '35',
- '36',
- '37',
- '38'
+ ( '27', False ),
+ ( '28', False ),
+ ( '29', False ),
+ ( '30', False ),
+ ( '31', False ),
+ ( '32', False ),
+ ( '33', False ),
+ ( '34', False ),
+ ( '35', False ),
+ ( '36', False ),
+ ( '37', True ),
+ ( '38', True ),
],
'centos': [
- '7',
- '8',
- '9',
+ ( '7', False ),
+ ( '8', True ),
+ ( '9', True ),
],
'rhel': [
- '8',
- '9',
+ ( '8', True ),
+ ( '9', True ),
],
'ubuntu': [
- #'16.04',
- '18.04',
- #'18.10', # EOLed
- #'19.04', # EOLed
- #'19.10', # EOLed
- '20.04',
- '20.10',
- '21.04',
- '22.04',
+ ( '16.04', False ),
+ ( '18.04', True ),
+ ( '18.10', False ),
+ ( '19.04', False ),
+ ( '19.10', False ),
+ ( '20.04', True ),
+ ( '20.10', False ),
+ ( '21.04', False ),
+ ( '22.04', True ),
],
'debian': [
- #'8',
- '9',
- '10',
- '11',
- '12'
+ ( '8', False ),
+ ( '9', False ),
+ ( '10', True ),
+ ( '11', True ),
+ ( '12', True ),
],
'freebsd': [
- '11.2',
- '11.4',
- '12.0',
- '12.1',
- '13.0',
+ ( '11.2', False ),
+ ( '11.4', False ),
+ ( '12.0', True ),
+ ( '12.1', True ),
+ ( '13.0', True ),
],
'alpine': [
- #'3.10', # EOLed
- #'3.11', # EOLed
- #'3.12', # EOLed
- '3.13',
- '3.14',
- '3.15',
- '3.16',
- '3.17',
+ ( '3.10', False ),
+ ( '3.11', False ),
+ ( '3.12', False ),
+ ( '3.13', False ),
+ ( '3.14', False ),
+ ( '3.15', True ),
+ ( '3.16', True ),
+ ( '3.17', True ),
],
'arch': []
}
def list_supported_systems():
"""List systems hammer can support (with supported providers)."""
- for system, revisions in SYSTEMS.items():
+ for system, revisions_and_supported in SYSTEMS.items():
print('%s:' % system)
- for r in revisions:
+ for r, supported in revisions_and_supported:
+ if not supported:
+ continue
providers = []
for p in ['lxc', 'virtualbox']:
k = '%s-%s-%s' % (system, r, p)