Skip to content

fix: use maintained MinIO image in filesystem tests - #152

Merged
hwbrzzl merged 1 commit into
masterfrom
bowen/fix-minio-image
Sep 25, 2026
Merged

hwbrzzl merged 1 commit into
masterfrom
bowen/fix-minio-image

Conversation

@goravel-agent

Copy link
Copy Markdown
Contributor

Summary

  • The filesystem tests now start a maintained MinIO image (coollabsio/minio, pinned to RELEASE.2025-10-15T17-29-55Z) instead of the removed minio/minio:latest, so the Test Filesystems job no longer panics in initMinio().
  • The test container is configured with the canonical MINIO_ROOT_USER / MINIO_ROOT_PASSWORD variables that the current MinIO image actually reads.
  • No product or app behavior changes: config/filesystems.go and the workflow secrets are untouched.

Why

The Test Filesystems workflow was failing because minio/minio:latest no longer exists on Docker Hub. MinIO archived its OSS edition and removed the Docker Hub images, so docker run minio/minio fails with a misleading pull access denied ... repository does not exist, and the registry API now returns 404 for minio/minio. The panic happened in initMinio() before any test logic ran, so the MinIO-backed filesystem paths (facades.Storage().Disk("minio")) were never exercised.

This points the test container at coollabsio/minio, a maintained community rebuild built from the official MinIO release: it is multi-arch and uses MinIO's official docker-entrypoint.sh, so the server /data command and the S3 API used by the tests are unchanged. Container credentials move to the canonical MINIO_ROOT_USER / MINIO_ROOT_PASSWORD, which is what the supported image reads.

// Before: the OSS image was removed from Docker Hub, so the container never starts
docker := testingdocker.NewImageDriver(contractsdocker.Image{
	Repository: "minio/minio",
	Tag:        "latest",
	Cmd:        []string{"server", "/data"},
	Env: []string{
		"MINIO_ACCESS_KEY=" + minioAccessKey,
		"MINIO_SECRET_KEY=" + minioSecretKey,
	},
})

// After: a maintained rebuild of the last official release serves the same S3 API
docker := testingdocker.NewImageDriver(contractsdocker.Image{
	Repository: "coollabsio/minio",
	Tag:        "RELEASE.2025-10-15T17-29-55Z",
	Cmd:        []string{"server", "/data"},
	Env: []string{
		"MINIO_ROOT_USER=" + minioAccessKey,
		"MINIO_ROOT_PASSWORD=" + minioSecretKey,
	},
})

Verification: gofmt is clean, and go build ./... and go vet ./tests/... pass locally. The Test Filesystems job on this PR validates the MinIO container end-to-end.

Follow-up (out of scope): goravel/minio's minio_test.go uses the same removed image and will need the same fix separately.

@goravel-agent
goravel-agent requested a review from a team as a code owner September 25, 2026 09:23
@hwbrzzl
hwbrzzl merged commit 3e6c416 into master Sep 25, 2026
9 checks passed
@hwbrzzl
hwbrzzl deleted the bowen/fix-minio-image branch September 25, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants