diff --git a/.forgejo/workflows/self-deploy.yml b/.forgejo/workflows/self-deploy.yml index b7ef70602..2e5836e7e 100644 --- a/.forgejo/workflows/self-deploy.yml +++ b/.forgejo/workflows/self-deploy.yml @@ -43,21 +43,23 @@ jobs: # which is on PATH for all steps. package.json declares # engines: { node: ">=26.1.0" } for runtime, but build-time tsc + tests # work on Node 22 — we just need to opt out of npm's engine enforcement. - - name: Install dependencies + # We intentionally skip the `web` npm ci + `build:web-host` here. + # docker/Dockerfile.sf-server re-runs both inside a glibc-based + # node:26.1-slim image (lines 32 + 48). The runner is alpine/musl + # and npm picks the wrong native bindings (lightningcss / @next/swc), + # so duplicating the work here just breaks. Image-build is the + # source of truth for what ships to prod. + - name: Install dependencies (core only) env: NPM_CONFIG_ENGINE_STRICT: "false" run: | set -eu echo "node $(node --version) / npm $(npm --version)" npm ci --engine-strict=false - npm --prefix web ci --engine-strict=false - name: Build core run: npm run build:core - - name: Build web host - run: npm run build:web-host - - name: Typecheck extensions run: npm run typecheck:extensions