From a71cae516a1dc4efc3ccd59be19ecb645fd7166d Mon Sep 17 00:00:00 2001 From: isaacclad Date: Tue, 7 Jul 2026 00:46:53 +0000 Subject: [PATCH] Prefer system npm in deploy CI when portable node-gyp is broken. Falls back to downloading Node only when host npm is unavailable, fixing npm ci failures on ladill-deploy-runner. --- .gitea/workflows/deploy.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index f7f4d3d..cdf8b03 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -39,11 +39,17 @@ jobs: clone --depth 1 --single-branch --no-tags --branch "${{ gitea.ref_name }}" \ "$REPO_URL" "$WORKSPACE" - - name: Setup Node.js + - name: Build frontend assets shell: bash {0} run: | set -Eeuo pipefail - if [ ! -x "$NODE_ROOT/bin/node" ]; then + cd "$WORKSPACE" + if command -v npm >/dev/null 2>&1 && npm -v >/dev/null 2>&1; then + NPM_BIN="$(command -v npm)" + elif [ -x "$NODE_ROOT/bin/npm" ]; then + export PATH="$NODE_ROOT/bin:$PATH" + NPM_BIN="$NODE_ROOT/bin/npm" + else rm -rf "$NODE_ROOT" mkdir -p "$NODE_ROOT" case "$(uname -m)" in @@ -53,17 +59,12 @@ jobs: esac curl -fsSL "https://nodejs.org/download/release/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" \ | tar -xJ --strip-components=1 -C "$NODE_ROOT" + export PATH="$NODE_ROOT/bin:$PATH" + NPM_BIN="$NODE_ROOT/bin/npm" fi - "$NODE_ROOT/bin/node" -v + "$NPM_BIN" ci --no-audit --no-fund + "$NPM_BIN" run build - - name: Build frontend assets - shell: bash {0} - run: | - set -Eeuo pipefail - cd "$WORKSPACE" - export PATH="$NODE_ROOT/bin:$PATH" - npm ci --no-audit --no-fund - npm run build - name: Build release archive shell: bash {0}