Skip to content

test: run MinIO from bitnamilegacy/minio; Quay now requires a login - #1927

Merged
yarikoptic merged 1 commit into
masterfrom
claude/minio-bitnamilegacy
Sep 25, 2026
Merged

yarikoptic merged 1 commit into
masterfrom
claude/minio-bitnamilegacy

Conversation

@yarikoptic-gitmate

Copy link
Copy Markdown
Collaborator

On 2026-09-24 MinIO made quay.io/minio/minio (and minio/mc) require authentication. Since then, docker compose pull of the test archive fails with minio Error unauthorized: access to the requested resource is not authorized, and every Docker-backed test errors during setup. This affects this repo's tests and downstream users of this compose file; backups2datalad CI is red for this reason (dandi/backups2datalad#124, dandi/backups2datalad#125). It is the follow-up to #1921, which moved us to Quay after minio/minio was deleted from Docker Hub.

Change

  • Switch dandi/tests/data/dandiarchive-docker/docker-compose.yml to bitnamilegacy/minio:latest. This is the image dandi-archive's backend/frontend CI already uses.
  • The Bitnami image starts the server itself, keeping its data under /bitnami/minio/data, and takes the same MINIO_ROOT_USER/MINIO_ROOT_PASSWORD. So the command override goes, and the tty that was only there for printing credentials goes too.
  • The existing curl healthcheck still works, since the image ships curl and mc.

This image is frozen too. dandi/dandi-infrastructure#289 is about hosting a copy of our own; once that exists, this line should point there.

Testing

  • docker compose pull of this compose file succeeds.
  • docker compose up --wait minio reports the service healthy, and /minio/health/live returns 200.
  • With the test credentials, boto3 against 127.0.0.1:9000 could create the bucket, enable versioning, and put/get an object.
  • I could not run the full Docker-based test suite here: the django container can't reach PyPI from my sandbox, which has nothing to do with MinIO. CI here will exercise it.

Suggested label: tests.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KoaLJfNiVVnwSDHNMg2bpK


Generated by Claude Code

MinIO made quay.io/minio/minio require authentication on 2026-09-24, so
`docker compose pull` of the test archive fails with "unauthorized" and
every Docker-backed test errors in setup (here and in downstream users of
this compose file, e.g. backups2datalad).  Switch to the frozen Bitnami
build dandi-archive's backend/frontend CI already uses.  It starts the
server itself with the same MINIO_ROOT_* credentials, so `command` goes;
the curl healthcheck still works.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KoaLJfNiVVnwSDHNMg2bpK
@yarikoptic-gitmate yarikoptic-gitmate added the tests Add or improve existing tests label Sep 24, 2026 — with Claude
yarikoptic-gitmate pushed a commit to dandi/backups2datalad that referenced this pull request Sep 24, 2026
…leased

MinIO made quay.io/minio/minio require a login on 2026-09-24, so pulling
dandi-cli's test docker-compose stack fails with "unauthorized" and every
Docker-backed test errors in setup.  The fix belongs in dandi-cli
(dandi/dandi-cli#1927) but reaches us only with a release, so meanwhile
layer a compose override over upstream's file via COMPOSE_FILE: same image
dandi-archive's CI uses, `command`/`tty` reset.  It is a no-op once the
upstream file carries the same change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KoaLJfNiVVnwSDHNMg2bpK
yarikoptic-gitmate pushed a commit to dandi/backups2datalad that referenced this pull request Sep 24, 2026
…leased

MinIO made quay.io/minio/minio require a login on 2026-09-24, so pulling
dandi-cli's test docker-compose stack fails with "unauthorized" and every
Docker-backed test errors in setup.  The fix belongs in dandi-cli
(dandi/dandi-cli#1927) but reaches us only with a release, so meanwhile
layer a compose override over upstream's file via COMPOSE_FILE: same image
dandi-archive's CI uses, `command`/`tty` reset.  It is a no-op once the
upstream file carries the same change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KoaLJfNiVVnwSDHNMg2bpK
(cherry picked from commit 7b39464)
@codecov

codecov Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.11%. Comparing base (e88467d) to head (f453137).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1927      +/-   ##
==========================================
- Coverage   78.14%   78.11%   -0.03%     
==========================================
  Files          91       91              
  Lines       13944    13944              
==========================================
- Hits        10896    10893       -3     
- Misses       3048     3051       +3     
Flag Coverage Δ
unittests 78.11% <ø> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Collaborator Author

CI note on test (ubuntu-latest, 3.11, dev-deps): it fails in the "Install dev versions of select dependencies" step before any test runs. The error is ERROR: Package 'hdmf-zarr' requires a different Python: 3.11.16 not in '>=3.12'. hdmf-zarr's development branch now requires Python ≥ 3.12, and this matrix entry runs 3.11, so every PR will hit this until the workflow changes. It isn't caused by the compose change here. I didn't find an open PR that fixes it.

Proposed fix, kept separate so this PR stays a one-line change: in .github/workflows/run-tests.yml, run the first dev-deps entry on '3.12' instead of '3.11', or drop it, since there's already a 3.14 dev-deps entry. Happy to open that if wanted.

codecov/project was computed from the few jobs that had finished at the time; it should settle once the full matrix reports.


Generated by Claude Code

yarikoptic-gitmate pushed a commit to dandi/dandi-archive that referenced this pull request Sep 24, 2026
The integration job runs dandi-cli's test suite with dandi-cli's own
docker-compose.yml, which still pulls quay.io/minio/minio; since MinIO made
that require a login on 2026-09-24 every setup fails at `manage.py
migrate`.  Layer bitnamilegacy/minio over it via COMPOSE_FILE until
dandi/dandi-cli#1927 is in dandi-cli's master and a release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KoaLJfNiVVnwSDHNMg2bpK
@yarikoptic

Copy link
Copy Markdown
Member

@yarikoptic
yarikoptic merged commit 062d024 into master Sep 25, 2026
64 of 69 checks passed
@yarikoptic
yarikoptic deleted the claude/minio-bitnamilegacy branch September 25, 2026 13:38
@github-actions

Copy link
Copy Markdown

🚀 PR was released in 0.80.1 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released tests Add or improve existing tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants