diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index f313505..f57bf8f 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -20,6 +20,9 @@ jobs: apt-get update -qq apt-get install -y -qq --no-install-recommends ca-certificates git docker.io git config --global http.sslVerify false + # Clean up runner disk before build + docker system prune -af --volumes 2>/dev/null || true + apt-get clean 2>/dev/null || true - name: Checkout run: | diff --git a/infra/docker/Dockerfile.discord-gateway b/infra/docker/Dockerfile.discord-gateway index bfd4687..f94e0f5 100644 --- a/infra/docker/Dockerfile.discord-gateway +++ b/infra/docker/Dockerfile.discord-gateway @@ -27,11 +27,12 @@ COPY packages/shared ./packages/shared COPY services/discord-gateway ./services/discord-gateway COPY services/discord-gateway/drizzle ./drizzle -# Build +# Build (combined to reduce layers) RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \ - pnpm --filter './packages/shared' run build -RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \ - pnpm --filter './services/discord-gateway' run build + pnpm --filter './packages/shared' run build \ + && pnpm --filter './services/discord-gateway' run build \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* # Create production-only deployment (no devDeps) RUN pnpm deploy --legacy --filter '@bete/discord-gateway' /tmp/deploy \