From 1f361997fb97921f0d10f1c3d3c7ab29ad0ed164 Mon Sep 17 00:00:00 2001 From: Artem Savchenko Date: Mon, 17 Nov 2025 14:58:54 +0700 Subject: [PATCH 1/6] Use BuildKit builder instead of legacy one Signed-off-by: Artem Savchenko --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1c5edf3d213..780fba98c6f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -245,6 +245,7 @@ jobs: run: node common/scripts/install-run-rush.js docker env: DOCKER_CLI_HINTS: false + DOCKER_BUILDKIT: 1 - name: Configure /etc/hosts run: | sudo echo "127.0.0.1 huly.local" | sudo tee -a /etc/hosts @@ -375,6 +376,7 @@ jobs: run: node common/scripts/install-run-rush.js docker env: DOCKER_CLI_HINTS: false + DOCKER_BUILDKIT: 1 - name: Configure /etc/hosts run: | sudo echo "127.0.0.1 huly.local" | sudo tee -a /etc/hosts @@ -469,6 +471,7 @@ jobs: run: node common/scripts/install-run-rush.js docker env: DOCKER_CLI_HINTS: false + DOCKER_BUILDKIT: 1 - name: Configure /etc/hosts run: | sudo echo "127.0.0.1 huly.local" | sudo tee -a /etc/hosts @@ -550,6 +553,7 @@ jobs: run: node common/scripts/install-run-rush.js docker env: DOCKER_CLI_HINTS: false + DOCKER_BUILDKIT: 1 - name: Configure /etc/hosts run: | sudo echo "127.0.0.1 huly.local" | sudo tee -a /etc/hosts @@ -674,6 +678,7 @@ jobs: env: DOCKER_CLI_HINTS: false DOCKER_EXTRA: --platform=linux/amd64,linux/arm64 + DOCKER_BUILDKIT: 1 - name: Docker build love-agent run: | cd ./services/ai-bot/love-agent @@ -682,6 +687,7 @@ jobs: env: DOCKER_CLI_HINTS: false DOCKER_EXTRA: --platform=linux/amd64,linux/arm64 + DOCKER_BUILDKIT: 1 - name: Login to Docker Hub if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/s') }} uses: docker/login-action@v3 From 9b1374cd4f4cad7667712b18204be6afc3aea7c5 Mon Sep 17 00:00:00 2001 From: Alexander Onnikov Date: Sat, 15 Nov 2025 09:17:04 +0700 Subject: [PATCH 2/6] fix: use slim docker image Signed-off-by: Alexander Onnikov --- dev/tool/Dockerfile | 2 +- services/backup/backup-api-pod/Dockerfile | 2 +- services/billing/pod-billing/Dockerfile | 2 +- services/export/pod-export/Dockerfile | 2 +- services/payment/pod-payment/Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dev/tool/Dockerfile b/dev/tool/Dockerfile index c2228521888..7079536dbc8 100644 --- a/dev/tool/Dockerfile +++ b/dev/tool/Dockerfile @@ -1,4 +1,4 @@ -FROM hardcoreeng/base +FROM hardcoreeng/base-slim:v20250916 WORKDIR /usr/src/app COPY bundle/bundle.js ./ diff --git a/services/backup/backup-api-pod/Dockerfile b/services/backup/backup-api-pod/Dockerfile index ebb6e0c8e8b..e74c1c8c5ae 100644 --- a/services/backup/backup-api-pod/Dockerfile +++ b/services/backup/backup-api-pod/Dockerfile @@ -1,4 +1,4 @@ -FROM hardcoreeng/front-base:v20250916 +FROM hardcoreeng/base-slim:v20250916 WORKDIR /app COPY bundle/bundle.js ./ diff --git a/services/billing/pod-billing/Dockerfile b/services/billing/pod-billing/Dockerfile index 15a8d24ddac..e74c1c8c5ae 100644 --- a/services/billing/pod-billing/Dockerfile +++ b/services/billing/pod-billing/Dockerfile @@ -1,4 +1,4 @@ -FROM hardcoreeng/base:v20250916 +FROM hardcoreeng/base-slim:v20250916 WORKDIR /app COPY bundle/bundle.js ./ diff --git a/services/export/pod-export/Dockerfile b/services/export/pod-export/Dockerfile index 5c96aa8e473..1a121895bae 100644 --- a/services/export/pod-export/Dockerfile +++ b/services/export/pod-export/Dockerfile @@ -1,5 +1,5 @@ -FROM hardcoreeng/base:v20250916 +FROM hardcoreeng/base-slim:v20250916 WORKDIR /usr/src/app COPY bundle/bundle.js ./ diff --git a/services/payment/pod-payment/Dockerfile b/services/payment/pod-payment/Dockerfile index 15a8d24ddac..e74c1c8c5ae 100644 --- a/services/payment/pod-payment/Dockerfile +++ b/services/payment/pod-payment/Dockerfile @@ -1,4 +1,4 @@ -FROM hardcoreeng/base:v20250916 +FROM hardcoreeng/base-slim:v20250916 WORKDIR /app COPY bundle/bundle.js ./ From 1cf52bfd29099647210f1e33aedc61ad76763405 Mon Sep 17 00:00:00 2001 From: Artem Savchenko Date: Mon, 17 Nov 2025 18:08:28 +0700 Subject: [PATCH 3/6] Add dockerignore Signed-off-by: Artem Savchenko --- .dockerignore | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000000..6076e01d983 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,35 @@ +# Dependencies +node_modules +**/node_modules + +# Git +.git +.gitignore +.github + +# Build artifacts +dist +**/dist +build +**/build + +# Development +*.md +README.md +*.log +.DS_Store + +# CI/CD +.github +.vscode + +# Monorepo +common/temp +rush.json +.prettierrc + +# Tests +tests +**/tests +**/*.test.ts +**/*.spec.ts \ No newline at end of file From 111dff7a6615977729370411adcfc9c3d23d05a9 Mon Sep 17 00:00:00 2001 From: Artem Savchenko Date: Mon, 17 Nov 2025 20:36:22 +0700 Subject: [PATCH 4/6] Clean up build artifacts Signed-off-by: Artem Savchenko --- .dockerignore | 35 ---------------------------------- .github/workflows/main.yml | 3 ++- common/scripts/docker_build.sh | 27 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 36 deletions(-) delete mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 6076e01d983..00000000000 --- a/.dockerignore +++ /dev/null @@ -1,35 +0,0 @@ -# Dependencies -node_modules -**/node_modules - -# Git -.git -.gitignore -.github - -# Build artifacts -dist -**/dist -build -**/build - -# Development -*.md -README.md -*.log -.DS_Store - -# CI/CD -.github -.vscode - -# Monorepo -common/temp -rush.json -.prettierrc - -# Tests -tests -**/tests -**/*.test.ts -**/*.spec.ts \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 780fba98c6f..4390da4703f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -673,12 +673,13 @@ jobs: - name: Docker build run: | - node common/scripts/install-run-rush.js docker:build -v + node common/scripts/install-run-rush.js docker:build -v 2>&1 | grep -v "did not define any work" || true docker builder prune -a -f env: DOCKER_CLI_HINTS: false DOCKER_EXTRA: --platform=linux/amd64,linux/arm64 DOCKER_BUILDKIT: 1 + DOCKER_BUILD_CLEANUP: true - name: Docker build love-agent run: | cd ./services/ai-bot/love-agent diff --git a/common/scripts/docker_build.sh b/common/scripts/docker_build.sh index 586eb01750b..4c04a18087f 100755 --- a/common/scripts/docker_build.sh +++ b/common/scripts/docker_build.sh @@ -2,6 +2,33 @@ version=$(git rev-parse HEAD) +# Check for cleanup flag from environment +if [ "$DOCKER_BUILD_CLEANUP" = "true" ]; then + cleanup=true +fi +cleanup=false + echo "Building version: $version" docker build -t "$1" -t "$1:$version" ${DOCKER_EXTRA} . + +if [ "$cleanup" = true ]; then + echo "Cleaning up build artifacts..." + + if [ -d "bundle" ]; then + echo " Removing bundle/" + rm -rf bundle + fi + + if [ -d "dist" ]; then + echo " Removing dist/" + rm -rf dist + fi + + if [ -d ".rush" ]; then + echo " Removing .rush/" + rm -rf .rush + fi + + echo " Size after cleanup: $(du -sh . 2>/dev/null | cut -f1)" +fi From 7f8c8831a4cc7bff2e04b1e3f39a2443e66eb9be Mon Sep 17 00:00:00 2001 From: Artem Savchenko Date: Mon, 17 Nov 2025 20:38:41 +0700 Subject: [PATCH 5/6] Clean up Signed-off-by: Artem Savchenko --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4390da4703f..bd6150a0d01 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -673,7 +673,7 @@ jobs: - name: Docker build run: | - node common/scripts/install-run-rush.js docker:build -v 2>&1 | grep -v "did not define any work" || true + node common/scripts/install-run-rush.js docker:build -v docker builder prune -a -f env: DOCKER_CLI_HINTS: false From c10055d4ab1266f22ae33d47364d025d32e884e5 Mon Sep 17 00:00:00 2001 From: Artem Savchenko Date: Mon, 17 Nov 2025 20:45:01 +0700 Subject: [PATCH 6/6] Fix flag Signed-off-by: Artem Savchenko --- common/scripts/docker_build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/scripts/docker_build.sh b/common/scripts/docker_build.sh index 4c04a18087f..2a564dc3751 100755 --- a/common/scripts/docker_build.sh +++ b/common/scripts/docker_build.sh @@ -3,10 +3,10 @@ version=$(git rev-parse HEAD) # Check for cleanup flag from environment +cleanup=false if [ "$DOCKER_BUILD_CLEANUP" = "true" ]; then cleanup=true fi -cleanup=false echo "Building version: $version"