Skip to content

ci: replace MinIO with RustFS in S3 tests (cherry-pick apache/iceberg-cpp#962) - #10

Merged
pkonrad1229 merged 1 commit into
mainfrom
ci-replace-minio-with-rustfs
Oct 5, 2026
Merged

pkonrad1229 merged 1 commit into
mainfrom
ci-replace-minio-with-rustfs

Conversation

@Grzegorz-Terlikowski

Copy link
Copy Markdown

Cherry-pick of upstream apache#962 (450863e) onto the fork.

Why

Every S3 test job (AWS (...) in aws_test.yml) currently fails at object-store startup, e.g. on #9:

  • Ubuntu: docker run minio/minio:latest → pull access denied for minio/minio, repository does not exist. quay.io/minio/minio:latest (the upstream ci: use Quay and GitHub releases for MinIO apache/iceberg-cpp#933 fix) now returns 401 too.
  • macOS: dl.min.io serves a text notice instead of the mc binary → syntax error near unexpected token '('.

Upstream solved this by replacing MinIO with RustFS (pinned 1.0.0 image / GitHub release binary with SHA256 verification).

Changes

  • ci/scripts/start_minio.sh → ci/scripts/start_object_store.sh (RustFS).
  • aws_test.yml: new step + credentials (admin/password). Conflict resolution kept the fork's actions/cache-based sccache steps.
  • Comment-only edits in arrow_s3_file_io.cc / s3_properties.h.

Testing

Ran ci/scripts/start_object_store.sh locally (Linux/Docker path): RustFS starts, bucket is created, S3 put/list works. macOS/binary path to be verified by CI.

https://claude.ai/code/session_01N7rhCjC16fwp4y95qd7kCd

* ci: replace MinIO with RustFS in S3 tests

Use RustFS 1.0.0 for Docker and native test fixtures, and initialize the S3 bucket with the AWS CLI.

Generated-by: Codex

* ci: improve RustFS startup diagnostics and readiness

Expose server logs, retry bucket initialization, verify native downloads, and disable the unused console.

Generated-by: Codex

* ci: use generic object store naming and improve startup diagnostics

- Rename the CI step to "Start Object Store"
- Enable shell tracing in start_object_store.sh
- Print the native server log only when it was started natively
- Replace MinIO-specific wording in S3 comments

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Kevin Liu <kevin.jq.liu@gmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit 450863e)

Conflicts resolved for the fork: kept the fork's actions/cache-based
sccache steps in aws_test.yml; dropped start_minio.sh (fork lacked
upstream apache#933 edits to it, so it is simply removed).

Why: minio/minio is gone from Docker Hub, quay.io/minio/minio now
returns 401 and dl.min.io serves a notice instead of the mc binary,
so every S3 test job on the fork fails at object-store startup.

Claude-Session: https://claude.ai/code/session_01N7rhCjC16fwp4y95qd7kCd
@Grzegorz-Terlikowski
Grzegorz-Terlikowski marked this pull request as ready for review October 4, 2026 21:49
@pkonrad1229
pkonrad1229 merged commit d62c419 into main Oct 5, 2026
52 checks passed
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.

3 participants