From be99c7acfa8df025749bcd35ede730b5037ad4f9 Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Sun, 4 Jan 2026 01:13:36 -0800 Subject: [PATCH] =?UTF-8?q?ci(docker):=20=E4=BC=98=E5=8C=96Node=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E6=B5=81=E7=A8=8B=E5=B9=B6=E6=B7=BB=E5=8A=A0nvm?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E5=A4=87=E9=80=89=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/docker.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml index 1372bd3..c7e8de9 100644 --- a/.gitea/workflows/docker.yml +++ b/.gitea/workflows/docker.yml @@ -40,7 +40,6 @@ jobs: - name: Build dist in Node container run: | set -e - # ensure tools install_pkgs() { PKGS="$*" if command -v apt-get >/dev/null 2>&1; then @@ -60,10 +59,7 @@ jobs: } if ! command -v curl >/dev/null 2>&1; then install_pkgs curl ca-certificates; fi if ! command -v tar >/dev/null 2>&1; then install_pkgs tar; fi - # xz is needed to extract Node tar.xz if ! command -v xz >/dev/null 2>&1 && ! command -v unxz >/dev/null 2>&1; then install_pkgs xz-utils || install_pkgs xz; fi - - # install Node by downloading official binary (avoid building from source) if ! command -v node >/dev/null 2>&1; then NODE_VER="v20.19.6" ARCH="$(uname -m)" @@ -75,14 +71,24 @@ jobs: esac NODE_TARBALL="node-${NODE_VER}-${NODE_ARCH}.tar.xz" URL="https://nodejs.org/dist/${NODE_VER}/${NODE_TARBALL}" - echo "Downloading Node from $URL" curl -fsSL "$URL" -o "/tmp/${NODE_TARBALL}" mkdir -p "$HOME/node" tar -xJf "/tmp/${NODE_TARBALL}" -C "$HOME/node" NODE_DIR="$HOME/node/node-${NODE_VER}-${NODE_ARCH}" export PATH="$NODE_DIR/bin:$PATH" fi - node -v && npm -v + if ! node -v >/dev/null 2>&1; then + install_pkgs python3 make gcc g++ build-essential || true + export NVM_DIR="$HOME/.nvm" + if [ ! -d "$NVM_DIR" ]; then + curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash + fi + . "$NVM_DIR/nvm.sh" + nvm install 20 + nvm use 20 + fi + node -v + npm -v npm ci echo "VITE_APP_BASE_URL=${VITE_APP_BASE_URL}" > .env.pord npm run build:prod