feat: 更新 npm-install GitHub Action,重构锁文件处理逻辑,优化缓存key生成步骤,增加对锁文件不存在的警告提示。

This commit is contained in:
Lyda
2025-08-20 15:16:57 +08:00
parent d13a6b9f38
commit 12d3d5dc0d

View File

@@ -52,8 +52,8 @@ outputs:
runs: runs:
using: 'composite' using: 'composite'
steps: steps:
- name: 生成缓存key - name: 确定锁文件
id: cache-key id: lockfile
shell: bash shell: bash
run: | run: |
LOCKFILE="${{ inputs.lockfile-name }}" LOCKFILE="${{ inputs.lockfile-name }}"
@@ -73,10 +73,25 @@ runs:
fi fi
fi fi
CACHE_KEY="${{ runner.os }}-${{ inputs.cache-prefix }}-$(echo '${{ hashFiles('${LOCKFILE}') }}' | head -c 12)"
echo "key=${CACHE_KEY}" >> $GITHUB_OUTPUT
echo "lockfile=${LOCKFILE}" >> $GITHUB_OUTPUT echo "lockfile=${LOCKFILE}" >> $GITHUB_OUTPUT
echo "使用锁文件: ${LOCKFILE}" echo "使用锁文件: ${LOCKFILE}"
- name: 生成缓存key
id: cache-key
shell: bash
run: |
# 根据检测到的锁文件生成hash
LOCKFILE="${{ steps.lockfile.outputs.lockfile }}"
if [[ -f "${LOCKFILE}" ]]; then
# 使用sha256计算文件hash并取前12位
HASH=$(sha256sum "${LOCKFILE}" | cut -d' ' -f1 | head -c 12)
else
echo "⚠️ 警告: 锁文件 ${LOCKFILE} 不存在使用时间戳作为fallback"
HASH=$(date +%s | tail -c 8)
fi
CACHE_KEY="${{ runner.os }}-${{ inputs.cache-prefix }}-${HASH}"
echo "key=${CACHE_KEY}" >> $GITHUB_OUTPUT
echo "缓存key: ${CACHE_KEY}" echo "缓存key: ${CACHE_KEY}"
- name: 拉取缓存依赖 - name: 拉取缓存依赖