We encountered a CI failure on main and in a recent PR [1]:
docker run -d --name iceberg-minio \
-p 9000:9000 -p 9001:9001 \
-e MINIO_ROOT_USER=minio \
-e MINIO_ROOT_PASSWORD=minio123 \
minio/minio:latest server /data --console-address :9001
Unable to find image 'minio/minio:latest' locally
latest: Pulling from minio/minio
docker: no matching manifest for windows(10.0.26100)/amd64 in the manifest list entries
It seems that the minio/minio:latest image no longer provide a Windows-compatible manifest, which causes failures on Windows runners.
There has been some discussion in the Apache Iceberg project about replacing MinIO with RustFS due to maintenance and security concerns [2]. However, even if we adopt RustFS, we would still face the same limitation, as it also does not provide Windows container images.
One suggestion (from @wgtmac) is to decouple S3-related testing from the Windows workflow: run S3-backed tests (e.g., against AWS or a compatible service) in a dedicated CI workflow, and disable that workflow on Windows. This would avoid relying on Windows-compatible Docker images for S3 emulation.
As a short-term approach, I propose that we continue using MinIO for Linux-based CI, while excluding S3-related tests from Windows jobs. In parallel, we can evaluate alternative S3-compatible solutions or a potential migration strategy in the future.
Thoughts?
[1] https://github.com/apache/iceberg-cpp/actions/runs/25410582555/job/74535575933?pr=639
[2] apache/iceberg#14638
We encountered a CI failure on
mainand in a recent PR [1]:It seems that the
minio/minio:latestimage no longer provide a Windows-compatible manifest, which causes failures on Windows runners.There has been some discussion in the Apache Iceberg project about replacing MinIO with RustFS due to maintenance and security concerns [2]. However, even if we adopt RustFS, we would still face the same limitation, as it also does not provide Windows container images.
One suggestion (from @wgtmac) is to decouple S3-related testing from the Windows workflow: run S3-backed tests (e.g., against AWS or a compatible service) in a dedicated CI workflow, and disable that workflow on Windows. This would avoid relying on Windows-compatible Docker images for S3 emulation.
As a short-term approach, I propose that we continue using MinIO for Linux-based CI, while excluding S3-related tests from Windows jobs. In parallel, we can evaluate alternative S3-compatible solutions or a potential migration strategy in the future.
Thoughts?
[1] https://github.com/apache/iceberg-cpp/actions/runs/25410582555/job/74535575933?pr=639
[2] apache/iceberg#14638