def _docker_images_to_build(all_apps_dir: str) -> List[DockerImageToBuild]: """ Return an ordered list of Docker images to build. :param all_apps_dir: Directory with app subdirectories. :return: List of Docker images to build in that order. """ images_to_build = [] for dependency in docker_images(all_apps_dir=all_apps_dir, only_belonging_to_user=True): container_name = container_dir_name_from_image_name( image_name=dependency) container_path = os.path.join(all_apps_dir, container_name) if not os.path.isdir(container_path): raise ValueError("Container path is not a directory: '{}'".format( container_path)) images_to_build.append( DockerImageToBuild( name=container_name, path=container_path, repository=dependency, )) return images_to_build
def test_container_dir_name_from_image_name(self): assert container_dir_name_from_image_name( image_name='gcr.io/mcback/topics-fetch-twitter-urls:latest' ) == 'topics-fetch-twitter-urls'
def test_container_dir_name_from_image_name(self): assert container_dir_name_from_image_name( image_name='dockermediacloud/topics-fetch-twitter-urls:latest', docker_hub_username='******', ) == 'topics-fetch-twitter-urls'