def build_liminal_apps()

in liminal/build/liminal_apps_builder.py [0:0]


def build_liminal_apps(path):
    """
    Build images for liminal apps in path.
    """
    config_util = ConfigUtil(path)
    configs = config_util.safe_load(is_render_variables=True, soft_merge=True)

    for liminal_config in configs:
        base_path = os.path.dirname(files_util.resolve_pipeline_source_file(liminal_config['name']))
        if 'images' in liminal_config:
            for image in liminal_config['images']:
                image_name = image['image']

                if 'source' in image:
                    image_type = image['type']
                    builder_class = __get_image_builder_class(image_type)
                    if builder_class:
                        __build_image(base_path, image, builder_class)
                    else:
                        raise ValueError(f'No such image type: {image_type}')
                else:
                    logging.warning(f'No source configured for image {image_name}.')