mirror of
https://github.com/yanhao98/composite-actions.git
synced 2025-07-13 14:50:48 +08:00
feat: 优化 Node 环境设置,改进 pnpm 检查逻辑并添加输出信息
This commit is contained in:
@ -39,47 +39,41 @@ runs:
|
|||||||
id: prepare
|
id: prepare
|
||||||
run: |
|
run: |
|
||||||
# Check package manager
|
# Check package manager
|
||||||
|
echo "#############################"
|
||||||
|
setupPnpm=false
|
||||||
packageManager=$(node -p "require('./package.json').packageManager")
|
packageManager=$(node -p "require('./package.json').packageManager")
|
||||||
echo "#############################"
|
|
||||||
echo "packageManager: $packageManager found in package.json"
|
echo "packageManager: $packageManager found in package.json"
|
||||||
echo ""
|
if [[ "$packageManager" == "pnpm"* ]] && ! which pnpm > /dev/null; then
|
||||||
|
echo "the package manager is pnpm but pnpm is not installed"
|
||||||
if [[ "$packageManager" == "pnpm"* ]]; then
|
setup-pnpm=true
|
||||||
echo "#############################"
|
|
||||||
# TODO: 还有一种情况就是镜像中已经安装了pnpm。
|
|
||||||
echo "setup-pnpm=true"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "setup-pnpm=true" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
fi
|
||||||
|
echo "setupPnpm: $setupPnpm"
|
||||||
|
echo "setup-pnpm=$setupPnpm" >> $GITHUB_OUTPUT
|
||||||
|
echo ""
|
||||||
|
|
||||||
# Check if pnpm-lock.yaml exists
|
# Check if pnpm-lock.yaml exists
|
||||||
if [[ -f "pnpm-lock.yaml" ]]; then
|
|
||||||
echo "#############################"
|
echo "#############################"
|
||||||
|
if [[ -f "pnpm-lock.yaml" ]]; then
|
||||||
echo "pnpm-lock.yaml exists. So pnpm install --frozen-lockfile will run"
|
echo "pnpm-lock.yaml exists. So pnpm install --frozen-lockfile will run"
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "pnpm-lock-exists=true" >> $GITHUB_OUTPUT
|
echo "pnpm-lock-exists=true" >> $GITHUB_OUTPUT
|
||||||
echo "cache=pnpm" >> $GITHUB_OUTPUT
|
echo "cache=pnpm" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "pnpm-lock.yaml does not exist"
|
echo "pnpm-lock.yaml does not exist"
|
||||||
fi
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
# Extract the node version from the .npmrc file
|
# Extract the node version from the .npmrc file
|
||||||
|
echo "#############################"
|
||||||
nodeVersion=$(sed -n 's/.*use-node-version=\([0-9.]*\).*/\1/p' .npmrc)
|
nodeVersion=$(sed -n 's/.*use-node-version=\([0-9.]*\).*/\1/p' .npmrc)
|
||||||
if [[ -z "$nodeVersion" ]]; then
|
if [[ -z "$nodeVersion" ]]; then
|
||||||
nodeVersion="lts/*"
|
nodeVersion="lts/*"
|
||||||
echo "#############################"
|
|
||||||
echo "Node version not found in .npmrc. Using default: $nodeVersion"
|
echo "Node version not found in .npmrc. Using default: $nodeVersion"
|
||||||
echo ""
|
|
||||||
else
|
else
|
||||||
echo "#############################"
|
|
||||||
echo "Node version found in .npmrc: $nodeVersion"
|
echo "Node version found in .npmrc: $nodeVersion"
|
||||||
echo ""
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "node-version=$nodeVersion" >> $GITHUB_OUTPUT
|
echo "node-version=$nodeVersion" >> $GITHUB_OUTPUT
|
||||||
|
echo ""
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v4 # https://github.com/pnpm/action-setup?tab=readme-ov-file#inputs
|
- uses: pnpm/action-setup@v4 # https://github.com/pnpm/action-setup?tab=readme-ov-file#inputs
|
||||||
if: steps.prepare.outputs.setup-pnpm == 'true'
|
if: steps.prepare.outputs.setup-pnpm == 'true'
|
||||||
|
Reference in New Issue
Block a user