From 12d3d5dc0d866522aeef3fdd452822d211e17c0b Mon Sep 17 00:00:00 2001 From: Lyda <1829913225@qq.com> Date: Wed, 20 Aug 2025 15:16:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=20npm-install=20GitH?= =?UTF-8?q?ub=20Action=EF=BC=8C=E9=87=8D=E6=9E=84=E9=94=81=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=BC=93=E5=AD=98key=E7=94=9F=E6=88=90=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=AF=B9=E9=94=81=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- npm-install/action.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/npm-install/action.yml b/npm-install/action.yml index ab416b7..4ceeef3 100644 --- a/npm-install/action.yml +++ b/npm-install/action.yml @@ -52,8 +52,8 @@ outputs: runs: using: 'composite' steps: - - name: 生成缓存key - id: cache-key + - name: 确定锁文件 + id: lockfile shell: bash run: | LOCKFILE="${{ inputs.lockfile-name }}" @@ -73,10 +73,25 @@ runs: 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}" + + - 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}" - name: 拉取缓存依赖