Various CI fixes
* Output CSV on build stage
* Check more failure states in pipeline
* Allow configs.py to use multiple groups
* Add build log as artifact
* Add links to particular build configs
* Host CMSIS_5 pack file internally
* Adding mbedcrypto url as a param
* Move the LAVA job generation into a new jenkins job
* Make job_ids strings for adding to job description
Change-Id: I801a1a5d15a7f55e25477ad371e8ec59eb14fd7f
Signed-off-by: Dean Birch <dean.birch@arm.com>
diff --git a/configs.py b/configs.py
index 3b5bc7d..32283d9 100755
--- a/configs.py
+++ b/configs.py
@@ -41,13 +41,13 @@
def list_configs(group):
"""Lists available configurations"""
build_manager = get_build_manager(group)
- build_manager.print_config()
+ return build_manager.get_config()
-def print_config_environment(config, group=None):
+def print_config_environment(config, group=None, silence_stderr=False):
"""Prints particular configuration environment variables"""
build_manager = get_build_manager(group)
- build_manager.print_config_environment(config)
+ build_manager.print_config_environment(config, silence_stderr=silence_stderr)
if __name__ == "__main__":
@@ -63,14 +63,29 @@
PARSER.add_argument(
"-g",
"--group",
- default=None,
+ default=[],
+ action="append",
help="Only list configurations under a certain group. ",
choices=list(_builtin_configs.keys()),
)
ARGS = PARSER.parse_args()
- # By default print available configs
- if not ARGS.config:
- list_configs(ARGS.group)
- else:
- print_config_environment(ARGS.config, group=ARGS.group)
+ all_configs = set()
+ for group in ARGS.group:
+ # By default print available configs
+ if not ARGS.config:
+ all_configs.update(list_configs(group))
+ else:
+ try:
+ print_config_environment(ARGS.config, group=group, silence_stderr=True)
+ break
+ except SystemExit:
+ if group == ARGS.group[-1]:
+ print(
+ "Could not find configuration {} in groups {}".format(
+ ARGS.config, ARGS.group
+ )
+ )
+
+ for config in all_configs:
+ print(config)