Describe the bug
When an alias is used in a config file which doesn't have a matching anchor (perhaps a typo) a pyyaml ComposerError is raised and not handled by build-magic.
Traceback (most recent call last):
File "/Users/chrismorrow/.pyenv/versions/3.9.2/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Users/chrismorrow/.pyenv/versions/3.9.2/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/Users/chrismorrow/repos/build-magic/build_magic/__main__.py", line 7, in <module>
build_magic()
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/chrismorrow/repos/build-magic/build_magic/cli.py", line 226, in build_magic
stages = get_stages_from_config(cfg, dict(variable))
File "/Users/chrismorrow/repos/build-magic/build_magic/cli.py", line 387, in get_stages_from_config
obj = yaml.safe_load(cfg)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/__init__.py", line 162, in safe_load
return load(stream, SafeLoader)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/__init__.py", line 114, in load
return loader.get_single_data()
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 82, in compose_node
node = self.compose_sequence_node(anchor)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 111, in compose_sequence_node
node.value.append(self.compose_node(node, index))
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 82, in compose_node
node = self.compose_sequence_node(anchor)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 111, in compose_sequence_node
node.value.append(self.compose_node(node, index))
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/Users/chrismorrow/build-magic/lib/python3.9/site-packages/yaml/composer.py", line 68, in compose_node
raise ComposerError(None, None, "found undefined alias %r"
yaml.composer.ComposerError: found undefined alias 'clean_pyinstaller'
in "package.yaml", line 69, column 20
To Reproduce
Steps to reproduce the behavior:
Create a valid config file with an alias without corresponding anchor.
Run the config file with build-magic -C config.yaml.
Expected behavior
Build-magic should handle these errors and provide a user-friendly error message.
Desktop (please complete the following information):
Describe the bug When an alias is used in a config file which doesn't have a matching anchor (perhaps a typo) a pyyaml ComposerError is raised and not handled by build-magic.
To Reproduce Steps to reproduce the behavior:
build-magic -C config.yaml
.Expected behavior Build-magic should handle these errors and provide a user-friendly error message.
Desktop (please complete the following information):