fix: send Mattermost report before mirroring to avoid long delays
Some checks failed
CI/CD / lint-test (push) Failing after 39s
CI/CD / build-push (push) Has been skipped

This commit is contained in:
2026-05-03 12:32:36 +00:00
parent 00b0fd455a
commit 77017a0b59

View File

@@ -354,7 +354,6 @@ def main() -> None:
logger.info("Found %d unique image references", len(all_images))
results = []
mirrored = []
for ref, img in all_images.items():
entry = {
@@ -385,18 +384,10 @@ def main() -> None:
except InvalidVersion:
entry["status"] = "current" if img.tag == latest else "outdated"
if do_mirror and entry["status"] == "outdated" and entry["latest"]:
new_ref = ref.rsplit(":", 1)[0] + ":" + entry["latest"]
if mirror_to_local(new_ref, local_registry):
mirrored.append(new_ref)
results.append(entry)
# Send report immediately after version checks, before mirroring
report = build_report(results)
if mirrored:
report += f"\n\n*Mirrored {len(mirrored)} updated images to `{local_registry}`*"
logger.info("Sending Mattermost notification …")
send_mattermost(report, webhook_url)
logger.info("Done. %d outdated, %d floating, %d current, %d skipped",
@@ -405,6 +396,18 @@ def main() -> None:
sum(1 for r in results if r["status"] == "current"),
sum(1 for r in results if r["status"] == "skipped"))
# Mirror outdated images after report is sent
if do_mirror:
mirrored = []
for entry in results:
if entry["status"] == "outdated" and entry["latest"]:
ref = entry["image"]
new_ref = ref.rsplit(":", 1)[0] + ":" + entry["latest"]
if mirror_to_local(new_ref, local_registry):
mirrored.append(new_ref)
if mirrored:
logger.info("Mirrored %d updated images to %s", len(mirrored), local_registry)
if __name__ == "__main__":
main()