mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 06:33:37 +08:00
feat: 更新 npm-install GitHub Action,重构锁文件处理逻辑,优化缓存key生成步骤,增加对锁文件不存在的警告提示。
This commit is contained in:
@@ -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: 拉取缓存依赖
|
||||||
|
Reference in New Issue
Block a user