feat: 更新 npm-install GitHub Action,添加锁文件检测步骤并优化缓存key生成逻辑,确保在无法计算锁文件hash时使用默认值,提升缓存管理的可靠性和灵活性。

This commit is contained in:
Lyda
2025-08-21 10:13:46 +08:00
parent 5b75a9c955
commit 631cc6961f

View File

@@ -52,8 +52,8 @@ outputs:
runs: runs:
using: 'composite' using: 'composite'
steps: steps:
- name: 生成缓存key - name: 检测锁文件
id: cache-key id: detect-lockfile
shell: bash shell: bash
run: | run: |
LOCKFILE="${{ inputs.lockfile-name }}" LOCKFILE="${{ inputs.lockfile-name }}"
@@ -73,10 +73,29 @@ 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
env:
LOCKFILE_HASH: ${{ hashFiles(steps.detect-lockfile.outputs.lockfile) }}
run: |
LOCKFILE="${{ steps.detect-lockfile.outputs.lockfile }}"
# 截取hash的前12位
if [[ -n "${LOCKFILE_HASH}" && "${LOCKFILE_HASH}" != "" ]]; then
LOCKFILE_HASH_SHORT=$(echo "${LOCKFILE_HASH}" | head -c 12)
else
echo "⚠️ 警告: 无法计算锁文件hash使用默认值"
LOCKFILE_HASH_SHORT="no-lockfile"
fi
CACHE_KEY="${{ runner.os }}-${{ inputs.cache-prefix }}-${LOCKFILE_HASH_SHORT}"
echo "key=${CACHE_KEY}" >> $GITHUB_OUTPUT
echo "锁文件: ${LOCKFILE}"
echo "文件hash: ${LOCKFILE_HASH}"
echo "缓存key: ${CACHE_KEY}" echo "缓存key: ${CACHE_KEY}"
- name: 拉取缓存依赖 - name: 拉取缓存依赖