diff --git a/scripts/ci_container_smoke.sh b/scripts/ci_container_smoke.sh index d6207dd..1f11d62 100644 --- a/scripts/ci_container_smoke.sh +++ b/scripts/ci_container_smoke.sh @@ -2,20 +2,24 @@ set -euo pipefail container_name="magent-ci-${GITHUB_RUN_ID:-local}-$$" -data_dir="$(mktemp -d)" -chmod 0777 "$data_dir" +volume_name="${container_name}-data" cleanup() { docker rm -f "$container_name" >/dev/null 2>&1 || true - rm -rf "$data_dir" + docker volume rm -f "$volume_name" >/dev/null 2>&1 || true } trap cleanup EXIT docker build --tag magent:ci . +docker volume create "$volume_name" >/dev/null +docker run --rm --user 0 \ + --volume "$volume_name:/app/data" \ + --entrypoint chown \ + magent:ci -R 1000:1000 /app/data docker run --detach --name "$container_name" \ --read-only --cap-drop ALL --security-opt no-new-privileges:true \ --tmpfs /tmp:rw,noexec,nosuid,size=64m,uid=1000,gid=1000 \ --tmpfs /app/frontend/.next/cache:rw,noexec,nosuid,size=128m,uid=1000,gid=1000 \ - --volume "$data_dir:/app/data" \ + --volume "$volume_name:/app/data" \ --env JWT_SECRET=ci-only-secret-with-at-least-32-characters \ --env SETTINGS_ENCRYPTION_KEY=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= \ --env ADMIN_PASSWORD=ci-only-bootstrap-password-123 \