Move drizzle-kit to devDependencies; use docker compose wait in deploy

drizzle-kit is a dev-only tool (schema generation and local migrations).
Now that production migrations run via the programmatic drizzle-orm API
in the migrate init container, drizzle-kit has no runtime role.

Also replaces the polling health check loop with docker compose wait,
which blocks until the migrate service exits and returns its exit code
cleanly — no sleep or manual status inspection needed.

https://claude.ai/code/session_01ReaqH3o9NVH4QU4qE9WMMQ
This commit is contained in:
Claude 2026-04-06 04:01:03 +00:00
parent 8e38ea8569
commit 7971026d22
No known key found for this signature in database
2 changed files with 5 additions and 22 deletions

View file

@ -149,27 +149,10 @@ jobs:
docker login $CONTAINER_REGISTRY -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD docker login $CONTAINER_REGISTRY -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD
cd brackt cd brackt
docker compose pull docker compose pull
docker compose up -d --remove-orphans docker compose up -d migrate
if ! docker compose wait migrate | grep -qx "0"; then
echo "Waiting for app to start..."
for i in $(seq 1 12); do
STATUS=$(docker inspect --format='{{.State.Status}}' brackt 2>/dev/null || echo "missing")
if [ "$STATUS" = "running" ]; then
echo "App is running"
break
fi
if [ $i -eq 12 ]; then
echo "App failed to start. Logs:"
docker logs brackt-migrate --tail=30 2>/dev/null || true
docker logs brackt --tail=30 2>/dev/null || true
exit 1
fi
sleep 5
done
MIGRATE_EXIT=$(docker inspect --format='{{.State.ExitCode}}' brackt-migrate 2>/dev/null || echo "1")
if [ "$MIGRATE_EXIT" != "0" ]; then
echo "Migration failed:" echo "Migration failed:"
docker logs brackt-migrate docker compose logs migrate
exit 1 exit 1
fi fi
docker compose up -d --remove-orphans

View file

@ -56,7 +56,6 @@
"clsx": "^2.1.1", "clsx": "^2.1.1",
"compression": "^1.8.0", "compression": "^1.8.0",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"drizzle-kit": "~0.28.1",
"drizzle-orm": "~0.36.3", "drizzle-orm": "~0.36.3",
"express": "^5.1.0", "express": "^5.1.0",
"isbot": "^5.1.27", "isbot": "^5.1.27",
@ -103,6 +102,7 @@
"@vitest/ui": "^3.2.4", "@vitest/ui": "^3.2.4",
"cypress": "^14.5.4", "cypress": "^14.5.4",
"dotenv-cli": "^8.0.0", "dotenv-cli": "^8.0.0",
"drizzle-kit": "~0.28.1",
"esbuild": "^0.25.11", "esbuild": "^0.25.11",
"jsdom": "^27.0.1", "jsdom": "^27.0.1",
"oxlint": "^1.56.0", "oxlint": "^1.56.0",