From 17393dba5e3f479d1b4a4be9c1e036cd9f36bd3a Mon Sep 17 00:00:00 2001 From: miczek Date: Thu, 15 Oct 2026 03:44:23 +0300 Subject: [PATCH] ci: serialize builds for low-memory Pi runner Cap MSBuild to one node and Angular to one worker so api/shop/admin fit under the 2GiB Drone step limit (slower, less OOM). Co-authored-by: Cursor --- .drone.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index c50beb7..8d13b21 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,6 +7,8 @@ # First-time host setup: # git clone ssh://git@git.zea.lt:2222/miczek/iled-shop.git $DEPLOY_PATH # cd $DEPLOY_PATH/docker && cp .env.example .env # then edit secrets +# +# Pi note: steps serialize workers so builds fit under DRONE_MEMORY_LIMIT (~2GiB). kind: pipeline type: docker @@ -25,24 +27,38 @@ concurrency: steps: - name: api image: mcr.microsoft.com/dotnet/sdk:10.0 + environment: + # One MSBuild node; disable node reuse — lower peak RAM on 4GB Pi + DOTNET_CLI_TELEMETRY_OPTOUT: "1" + MSBUILDDISABLENODEREUSE: "1" commands: - cd src/backend - dotnet restore iLED.slnx - - dotnet build iLED.slnx -c Release --no-restore + - dotnet build iLED.slnx -c Release --no-restore -m:1 - name: shop image: node:22-bookworm + environment: + NG_BUILD_MAX_WORKERS: "1" + NODE_OPTIONS: "--max-old-space-size=1536" commands: - cd src/shop - npm ci - npm run build -- --configuration=production + depends_on: + - api - name: admin image: node:22-bookworm + environment: + NG_BUILD_MAX_WORKERS: "1" + NODE_OPTIONS: "--max-old-space-size=1536" commands: - cd src/admin - npm ci - npm run build -- --configuration=production + depends_on: + - shop trigger: event: