diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index c3cf337..46fa849 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -71,6 +71,28 @@ jobs: echo "📦 恢复pnpm缓存..." export PATH=$PATH:/usr/local/bin + # 检查缓存的pnpm + PNPM_CACHE_DIR="/opt/hostedtoolcache/pnpm-bin" + if [ -f "$PNPM_CACHE_DIR/pnpm" ]; then + echo "✅ 找到缓存的pnpm: $PNPM_CACHE_DIR/pnpm" + # 将缓存的pnpm添加到PATH + export PATH="$PNPM_CACHE_DIR:$PATH" + echo "✅ pnpm已恢复: $(pnpm --version)" + else + echo "📥 未找到缓存的pnpm,将重新安装..." + # 安装pnpm到缓存目录 + mkdir -p "$PNPM_CACHE_DIR" + npm install -g pnpm --prefix "$PNPM_CACHE_DIR" + export PATH="$PNPM_CACHE_DIR:$PATH" + echo "✅ pnpm安装完成: $(pnpm --version)" + fi + + - name: 配置pnpm缓存 + shell: bash + run: | + echo "📦 配置pnpm缓存..." + export PATH=$PATH:/usr/local/bin + # 配置pnpm缓存目录 PNPM_CACHE_DIR="/opt/hostedtoolcache/pnpm-store" mkdir -p "$PNPM_CACHE_DIR" @@ -81,19 +103,6 @@ jobs: echo "✅ pnpm缓存配置完成" - - name: 安装pnpm - shell: bash - run: | - echo "📦 安装pnpm包管理器..." - export PATH=$PATH:/usr/local/bin - if command -v pnpm &> /dev/null; then - echo "✅ pnpm已安装: $(pnpm --version)" - else - echo "📥 安装pnpm..." - npm install -g pnpm - echo "✅ pnpm安装完成: $(pnpm --version)" - fi - - name: 恢复依赖缓存 shell: bash run: | @@ -168,6 +177,29 @@ jobs: exit 1 fi + - name: 保存pnpm缓存 + shell: bash + run: | + echo "💾 保存pnpm缓存..." + export PATH=$PATH:/usr/local/bin + + # 保存pnpm二进制文件 + PNPM_BIN_DIR="/opt/hostedtoolcache/pnpm-bin" + if [ -f "$PNPM_BIN_DIR/pnpm" ]; then + echo "✅ pnpm二进制文件已缓存" + else + echo "📥 复制pnpm到缓存目录..." + mkdir -p "$PNPM_BIN_DIR" + # 找到pnpm的位置并复制 + PNPM_PATH=$(which pnpm 2>/dev/null || echo "") + if [ -n "$PNPM_PATH" ] && [ -f "$PNPM_PATH" ]; then + cp "$PNPM_PATH" "$PNPM_BIN_DIR/" + echo "✅ pnpm已保存到缓存: $PNPM_BIN_DIR/pnpm" + else + echo "⚠️ 无法找到pnpm,跳过保存" + fi + fi + - name: 构建项目 shell: bash run: |