fix(ci): replace minikube devstack with standalone MinIO container#3157
fix(ci): replace minikube devstack with standalone MinIO container#3157
Conversation
Greptile SummaryThis PR replaces the minikube-based MinIO devstack with a lightweight standalone Docker container, pins CI to Python 3.11 with a 90-minute timeout, and gates SSE/non-ASCII/heavy-parametrization tests behind Confidence Score: 5/5Safe to merge; all findings are P2 style suggestions and the known P1s are already tracked in prior review threads No new P0/P1 findings introduced by this PR beyond the issues already flagged in previous review threads. The SSE duplicate-run and high retry count are minor quality concerns that don't affect correctness. .github/workflows/metaflow.s3_tests.minio.yml still has open issues from prior threads (untagged image, silent readiness timeout, broken workflow_dispatch) that should be addressed before relying on this workflow in production CI. Important Files Changed
Reviews (2): Last reviewed commit: "ci: retrigger checks" | Re-trigger Greptile |
Replace the minikube-based S3 test environment with a lightweight standalone MinIO Docker container. This eliminates the ~150s spin-up delay and removes the kubernetes dependency. Changes: - Use `docker run minio/minio` instead of `metaflow-dev all-up` - Set env vars at job level instead of inside a heredoc shell - Add health-check polling loop for MinIO readiness - Create test bucket via boto3 instead of relying on devstack - Skip SSE tests under MinIO (unsupported) - Skip non-ASCII filename test under MinIO (unsupported) - Pin to Python 3.11, add 90min timeout, fail-fast: false Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The full-stack-test workflow was timing out on generate-configs with WAIT_TIMEOUT=600 (10 min). CI runners are slow and services sometimes need longer to initialize. - Increase WAIT_TIMEOUT from 600 to 900 (15 min) - Add timeout-minutes: 30 to prevent runaway jobs (was using 6h default) - Add diagnostic step on failure: dump tilt resource status and recent logs - Run teardown with if: always() so cleanup happens on failure too Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
metaflow-dev all-upS3 test environment with a lightweight standalone MinIO Docker containerExtracted from #3148 — these are the MinIO CI changes only, without the boto3 refactor.
Test plan
metaflow.s3_tests.minioCI workflow passes with the new Docker-based MinIO setupMINIO_TESTenv var🤖 Generated with Claude Code