From f974f88ab99d9fa7fdf245edaac024775d98da02 Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Sun, 7 Jun 2026 10:40:41 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20sync=20from=20frontend=20a433067=20?= =?UTF-8?q?=E2=80=94=20Docker=20Yarn=20cache=20ENOSPC=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 09 - Audits/Activity Log.md | 10 +++++++++ .../Smoke and Regression Procedure.md | 22 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/09 - Audits/Activity Log.md b/09 - Audits/Activity Log.md index 324af9a..c6691e4 100644 --- a/09 - Audits/Activity Log.md +++ b/09 - Audits/Activity Log.md @@ -12,6 +12,16 @@ entries on top. Maintained by agents per the rule in `../AGENTS.md`. --- +### 2026-06-07 — frontend@a433067, backend@9427009 — frontend Docker Yarn cache ENOSPC fix + +**Commits:** `a433067` `9427009` +**Touched:** frontend `Dockerfile`, `package.json`; backend `package.json`, `package-lock.json`; docs `09 - Audits/Activity Log.md`, `11 - Testing/Smoke and Regression Procedure.md` +**Why:** The frontend production Docker build failed in the dependency install layer with `ENOSPC` while copying `country-flag-icons` from the persistent Yarn v6 cache into `/app/node_modules`. The frontend install layer now keeps the locked BuildKit/Yarn mutex hardening for the prior `ETXTBSY` failure, clears `/root/.yarn` before and after the frozen install, and uses `--link-duplicates` to reduce node_modules duplication. Backend version metadata was also synchronized to v2.9.39 after integrating the latest Forgejo change and repairing its truncated `package.json` manifest. +**Verification:** frontend deps-only Docker smoke derived from the production install stage passed through `yarn install --frozen-lockfile --production=false --network-timeout 600000 --link-duplicates`, confirmed `node_modules/country-flag-icons` exists, and confirmed `/root/.yarn/v6` is absent after install; Docker cleanup reclaimed 15.09GB build cache plus 1.961GB dangling images; frontend/backend scoped `git diff --check`; frontend/backend version metadata confirmed at v2.9.39. Pushed to Forgejo. +**Linked docs updated:** [[11 - Testing/Smoke and Regression Procedure]] + +--- + ### 2026-06-07 — backend@957c356, frontend@f699b15 — DB audit very-high transaction closeout H16-H18 **Commits:** `957c356` `f699b15` diff --git a/11 - Testing/Smoke and Regression Procedure.md b/11 - Testing/Smoke and Regression Procedure.md index 4cfcda1..b705d0c 100644 --- a/11 - Testing/Smoke and Regression Procedure.md +++ b/11 - Testing/Smoke and Regression Procedure.md @@ -106,6 +106,28 @@ npx eslint src/web3/config.ts src/web3/types.ts src/sections/payment/checkout/rn npm run build ``` +Frontend Docker install-layer smoke: + +```bash +cd ~/CascadeProjects/escrow/frontend +DOCKER_BUILDKIT=1 docker build --no-cache --target builder -t escrow-frontend-builder-smoke . +docker image rm escrow-frontend-builder-smoke +docker builder prune -f +``` + +Use this when CI fails before `npm run build` in the Docker dependency install +layer. For a faster local isolation check, create a temporary Dockerfile from the +production Dockerfile through the Yarn install `RUN` block, then append: + +```dockerfile +RUN test -d node_modules/country-flag-icons && test ! -d /root/.yarn/v6 +``` + +The expected install command uses a locked BuildKit Yarn cache, a Yarn mutex, +`--frozen-lockfile`, and `--link-duplicates`; the layer must clear `/root/.yarn` +before and after install so stale Yarn v6 cache contents do not exhaust builder +disk while copying packages such as `country-flag-icons`. + Scanner focus: ```bash