bug(infra/minio): create-buckets bootstrap.sh bind-mount fails on DooD runner (Is a directory)
#506
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
docker-compose.prod.yml'screate-bucketsservice mounts./infra/minio/bootstrap.sh:/bootstrap.sh:ro. Under Docker-out-of-Docker (the production Gitea Actions runner is DooD), the host Docker daemon resolves the relative path against the host filesystem — not the runner container's/workspace/.... The path doesn't exist on the host, so Docker auto-creates an empty directory at the mount target, and the entrypoint/bin/sh /bootstrap.shfails with/bootstrap.sh: Is a directory.Reproduction
Reproduces on the self-hosted Gitea Actions runner. Works locally on a developer machine because the runner CWD equals the host filesystem path.
Impact
nightly.ymlandrelease.ymlwill hit the same error when the create-buckets service starts. The current production rollout is blocked.Fix
Bake
bootstrap.shinto a tiny derived image. No runtime path resolution required, works in DooD / regular Docker / any environment.Update
docker-compose.prod.yml:The image pin (
RELEASE.2025-08-13T08-35-41Z) moves into the Dockerfile FROM line so Renovate-style upgrades still touch one canonical place.Why the CI test didn't catch this earlier (or rather: caught it but was attributed to a CI bug)
The Compose Bucket Idempotency job IS the regression test — it has been red since merge. The failure was assumed to be a runner-specific quirk; it is actually a real production-deploy blocker.
Discovered
While running
nightly.ymlto deploy staging for the first time after #499 / #497.