From 5d9edd636d7056ff36f9b7b5ba43e2cd16ff4c65 Mon Sep 17 00:00:00 2001 From: Omar Sobh Date: Fri, 18 Sep 2026 23:39:40 -0500 Subject: [PATCH] =?UTF-8?q?test(cm-files):=20pull=20MinIO=20from=20quay.io?= =?UTF-8?q?=20=E2=80=94=20Docker=20Hub=20no=20longer=20has=20the=20reposit?= =?UTF-8?q?ory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cargo test --workspace` fails on any fresh machine: hub.docker.com's minio/minio returned 404 for the whole repository on 2026-09-19, and testcontainers cannot pull it. CI on gw-04 kept passing because a year-old copy is cached there and testcontainers pulls only when the local create returns 404 — one image prune away from failing forever, and already failing here. MinIO publishes the same image on quay.io; the manifest answers 200. Found while reproducing a red CI run that turned out to be environmental. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01WZb5A2kfVfjpdwSochkuHz --- crates/cm-files/tests/s3_store.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/cm-files/tests/s3_store.rs b/crates/cm-files/tests/s3_store.rs index 20b83ac..d0df8cb 100644 --- a/crates/cm-files/tests/s3_store.rs +++ b/crates/cm-files/tests/s3_store.rs @@ -11,7 +11,11 @@ async fn minio_store() -> ( S3BlobStore, testcontainers_modules::testcontainers::ContainerAsync, ) { - let container = GenericImage::new("minio/minio", "latest") + // quay.io, not Docker Hub: hub.docker.com/r/minio/minio returned 404 for + // the whole repository on 2026-09-19. CI kept passing only because gw-04 + // had a year-old copy cached and testcontainers pulls only on a local + // miss; every fresh machine failed here with "pull access denied". + let container = GenericImage::new("quay.io/minio/minio", "latest") .with_exposed_port(9000.tcp()) .with_wait_for(WaitFor::message_on_either_std("API:")) .with_env_var("MINIO_ROOT_USER", "tc-access")