... > > +def get_registry_stale_images(registry_uri: str, > > + supported_distros: List[str]) -> Dict[str, int]: > > + """ > > + Check the GitLab image registry for images that we no longer support and > > + which should be deleted. > > + > > + :param uri: URI pointing to a GitLab instance's image registry > > + :param supported_distros: list of hosts supported by lcitool > > + :return: dictionary formatted as: {<gitlab_image_name>: <gitlab_image_id>} > > + """ > > + > > + images = get_registry_images(registry_uri) > > + > > + # extract distro names from the list of registry images > > + registry_distros = [get_image_distro(i["name"]) for i in images] > > + > > + # - compare the distros powering the images in GitLab registry with > > + # the list of host available from lcitool > > + # - @unsupported is a set containing the distro names which we no longer > > + # support; we need to map these back to registry image names > > + unsupported = set(registry_distros) - set(supported_distros) > > + if unsupported: > > + stale_images = {} > > + for distro in unsupported: > > + for img in images: > > + # gitlab images are named like "ci-<distro>-<cross_arch>?" > > + if distro in img["name"]: > > + stale_images[img["name"]] = img["id"] > > + > > + return stale_images > > As far as I can tell, this can be achieved in a much more > straightforward way with > > def get_registry_stale_images(registry_uri, supported_distros): > > images = get_registry_images(registry_uri) > stale_images = {} > > for img in images: > if get_image_distro(img["name"]) not in supported_distros: > stale_images[img["name"]] = img["id"] > > return stale_images > > At least from a quick test, the results appear to be the same. Am I > missing something? No, it works. I'll respin. Erik