From 8adbea50e88d123caeff6b5098194a8a1a4acfde Mon Sep 17 00:00:00 2001 From: Jia Yu Date: Fri, 11 Sep 2026 20:21:08 -0700 Subject: [PATCH] [GH-3355] Pull the MinIO test image from quay.io Docker Hub no longer serves the minio/minio repository, so every Testcontainers-based MinIO test fails to start and fail-fast takes the whole Scala and Java build matrix down with it. Point the four call sites at the same image on quay.io, pinned to the release that quay's latest tag currently resolves to, and declare it a compatible substitute so MinIOContainer accepts it. --- .../test/scala/org/apache/sedona/sql/OsmReaderTest.scala | 6 +++++- .../scala/org/apache/sedona/sql/GeoPackageReaderTest.scala | 6 +++++- .../scala/org/apache/sedona/sql/GeoPackageReaderTest.scala | 6 +++++- .../scala/org/apache/sedona/sql/GeoPackageReaderTest.scala | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/spark/common/src/test/scala/org/apache/sedona/sql/OsmReaderTest.scala b/spark/common/src/test/scala/org/apache/sedona/sql/OsmReaderTest.scala index 5c82acf51d7..bf460f9e340 100644 --- a/spark/common/src/test/scala/org/apache/sedona/sql/OsmReaderTest.scala +++ b/spark/common/src/test/scala/org/apache/sedona/sql/OsmReaderTest.scala @@ -22,6 +22,7 @@ import io.minio.{ListObjectsArgs, MakeBucketArgs, MinioClient} import org.apache.spark.sql.functions.col import org.scalatest.matchers.should.Matchers import org.testcontainers.containers.MinIOContainer +import org.testcontainers.utility.DockerImageName import java.io.FileInputStream @@ -110,7 +111,10 @@ class OsmReaderTest extends TestBaseScala with Matchers { } it("should be able to read from osm file on s3") { - val container = new MinIOContainer("minio/minio:latest") + val container = new MinIOContainer( + DockerImageName + .parse("quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z") + .asCompatibleSubstituteFor("minio/minio")) container.start() diff --git a/spark/spark-3.5/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala b/spark/spark-3.5/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala index 059c4f34fdb..acd2a7093f4 100644 --- a/spark/spark-3.5/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala +++ b/spark/spark-3.5/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala @@ -26,6 +26,7 @@ import org.apache.spark.sql.types.{BinaryType, BooleanType, DateType, DoubleType import org.scalatest.matchers.should.Matchers import org.scalatest.prop.TableDrivenPropertyChecks._ import org.testcontainers.containers.MinIOContainer +import org.testcontainers.utility.DockerImageName import java.io.FileInputStream import java.sql.{Date, Timestamp} @@ -310,7 +311,10 @@ class GeoPackageReaderTest extends TestBaseScala with Matchers { describe("Reading from S3") { it("should be able to read files from S3") { - val container = new MinIOContainer("minio/minio:latest") + val container = new MinIOContainer( + DockerImageName + .parse("quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z") + .asCompatibleSubstituteFor("minio/minio")) container.start() diff --git a/spark/spark-4.0/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala b/spark/spark-4.0/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala index 059c4f34fdb..acd2a7093f4 100644 --- a/spark/spark-4.0/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala +++ b/spark/spark-4.0/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala @@ -26,6 +26,7 @@ import org.apache.spark.sql.types.{BinaryType, BooleanType, DateType, DoubleType import org.scalatest.matchers.should.Matchers import org.scalatest.prop.TableDrivenPropertyChecks._ import org.testcontainers.containers.MinIOContainer +import org.testcontainers.utility.DockerImageName import java.io.FileInputStream import java.sql.{Date, Timestamp} @@ -310,7 +311,10 @@ class GeoPackageReaderTest extends TestBaseScala with Matchers { describe("Reading from S3") { it("should be able to read files from S3") { - val container = new MinIOContainer("minio/minio:latest") + val container = new MinIOContainer( + DockerImageName + .parse("quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z") + .asCompatibleSubstituteFor("minio/minio")) container.start() diff --git a/spark/spark-4.1/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala b/spark/spark-4.1/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala index 059c4f34fdb..acd2a7093f4 100644 --- a/spark/spark-4.1/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala +++ b/spark/spark-4.1/src/test/scala/org/apache/sedona/sql/GeoPackageReaderTest.scala @@ -26,6 +26,7 @@ import org.apache.spark.sql.types.{BinaryType, BooleanType, DateType, DoubleType import org.scalatest.matchers.should.Matchers import org.scalatest.prop.TableDrivenPropertyChecks._ import org.testcontainers.containers.MinIOContainer +import org.testcontainers.utility.DockerImageName import java.io.FileInputStream import java.sql.{Date, Timestamp} @@ -310,7 +311,10 @@ class GeoPackageReaderTest extends TestBaseScala with Matchers { describe("Reading from S3") { it("should be able to read files from S3") { - val container = new MinIOContainer("minio/minio:latest") + val container = new MinIOContainer( + DockerImageName + .parse("quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z") + .asCompatibleSubstituteFor("minio/minio")) container.start()