fix(ci): Alpine/musl runner 自动改用 Node musl 构建(glibc 版无法执行),缓存校验加运行测试
Publish Mini Program Dev Version / publish (push) Successful in 3m8s
Publish Mini Program Dev Version / publish (push) Successful in 3m8s
This commit is contained in:
@@ -31,16 +31,24 @@ jobs:
|
||||
# 优先复用 runner 宿主机缓存的工具链(工作目录持久化)
|
||||
TOOLDIR="$RUNNER_WORKSPACE/.lunar-toolchain"
|
||||
mkdir -p "$TOOLDIR"
|
||||
if [ -x "$TOOLDIR/node/bin/node" ]; then
|
||||
if [ -x "$TOOLDIR/node/bin/node" ] && "$TOOLDIR/node/bin/node" --version >/dev/null 2>&1; then
|
||||
echo "复用缓存 Node 工具链"
|
||||
else
|
||||
wget -q --tries=2 --timeout=60 -O "$TOOLDIR/node.tgz" \
|
||||
"https://nodejs.org/dist/v22.12.0/node-v22.12.0-linux-x64.tar.xz" \
|
||||
|| wget -q --tries=2 --timeout=60 -O "$TOOLDIR/node.tgz" \
|
||||
"https://mirrors.aliyun.com/nodejs-release/v22.12.0/node-v22.12.0-linux-x64.tar.xz"
|
||||
rm -rf "$TOOLDIR/node-v22.12.0-linux-x64"
|
||||
tar -C "$TOOLDIR" -xJf "$TOOLDIR/node.tgz"
|
||||
mv "$TOOLDIR/node-v22.12.0-linux-x64" "$TOOLDIR/node"
|
||||
rm -rf "$TOOLDIR/node" "$TOOLDIR/node-v22.12.0-linux-x64"
|
||||
# 探测 libc:Alpine(musl) 用 unofficial musl 构建,其余用官方 glibc 构建(tar.gz,busybox tar 不支持 xz)
|
||||
if ldd --version 2>&1 | grep -qi musl || [ ! -e /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ]; then
|
||||
NODE_DIST="node-v22.12.0-linux-x64-musl"
|
||||
wget -q --tries=2 --timeout=120 -O "$TOOLDIR/node.tgz" \
|
||||
"https://unofficial-builds.nodejs.org/download/release/v22.12.0/$NODE_DIST.tar.gz"
|
||||
else
|
||||
NODE_DIST="node-v22.12.0-linux-x64"
|
||||
wget -q --tries=2 --timeout=120 -O "$TOOLDIR/node.tgz" \
|
||||
"https://nodejs.org/dist/v22.12.0/$NODE_DIST.tar.gz" \
|
||||
|| wget -q --tries=2 --timeout=120 -O "$TOOLDIR/node.tgz" \
|
||||
"https://mirrors.aliyun.com/nodejs-release/v22.12.0/$NODE_DIST.tar.gz"
|
||||
fi
|
||||
tar -C "$TOOLDIR" -xzf "$TOOLDIR/node.tgz"
|
||||
mv "$TOOLDIR/$NODE_DIST" "$TOOLDIR/node"
|
||||
rm -f "$TOOLDIR/node.tgz"
|
||||
fi
|
||||
"$TOOLDIR/node/bin/node" --version
|
||||
|
||||
Reference in New Issue
Block a user