mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-26 20:35:39 -06:00
fix(qa-lab): prevent Slack desktop bootstrap hangs (#108161)
* fix(qa-lab): bound Slack installer downloads * fix(qa-lab): bound Slack installer retry window
This commit is contained in:
@@ -200,14 +200,29 @@ describe("mantis Slack desktop smoke runtime", () => {
|
||||
expect(remoteScript).toContain("build-essential python3");
|
||||
expect(remoteScript).toContain("node_supports_type_stripping");
|
||||
expect(remoteScript).toContain("scripts/crabbox-untrusted-bootstrap.sh");
|
||||
expect(remoteScript).toContain("https://nodejs.org/dist/v$node_version");
|
||||
expect(remoteScript).toContain(
|
||||
"curl -fsSL --connect-timeout 10 --max-time 120 https://deb.nodesource.com/setup_22.x",
|
||||
);
|
||||
expect(remoteScript).toContain(
|
||||
'curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-max-time 120 --retry-all-errors "$node_base_url/SHASUMS256.txt"',
|
||||
);
|
||||
expect(remoteScript).toContain(
|
||||
'curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-max-time 120 --retry-all-errors "$node_base_url/$node_archive"',
|
||||
);
|
||||
expect(remoteScript).toContain('grep " $node_archive$" SHASUMS256.txt | sha256sum -c -');
|
||||
expect(remoteScript).toContain('export PATH="$node_root/bin:$PATH"');
|
||||
expect(remoteScript).toContain("packageManager ??");
|
||||
expect(remoteScript).toContain("[0-9a-f]{128}");
|
||||
expect(remoteScript).toContain('console.log(match[1] + " " + match[2])');
|
||||
expect(remoteScript).toContain('active_pnpm_version="$(pnpm --version 2>/dev/null || true)"');
|
||||
expect(remoteScript).toContain("https://registry.npmjs.org/pnpm/-/pnpm-$pnpm_version.tgz");
|
||||
expect(remoteScript).toContain(
|
||||
"curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-max-time 120 --retry-all-errors",
|
||||
);
|
||||
expect(remoteScript).toContain('"https://registry.npmjs.org/pnpm/-/pnpm-$pnpm_version.tgz"');
|
||||
expect(remoteScript?.match(/--connect-timeout 10 --max-time 120/gu)?.length).toBe(4);
|
||||
expect(remoteScript?.match(/--retry 3 --retry-max-time 120 --retry-all-errors/gu)?.length).toBe(
|
||||
3,
|
||||
);
|
||||
expect(remoteScript).toContain('sha512sum "$pnpm_archive"');
|
||||
expect(remoteScript).toContain('chmod +x "$pnpm_cli"');
|
||||
expect(remoteScript).toContain('ln -sfn "$pnpm_cli" "$pnpm_bin_dir/pnpm"');
|
||||
|
||||
@@ -596,7 +596,7 @@ if [ -n "\${OPENCLAW_LIVE_OPENAI_KEY:-}" ] && [ -z "\${OPENAI_API_KEY:-}" ]; the
|
||||
fi
|
||||
if ! command -v node >/dev/null 2>&1; then
|
||||
sudo apt-get update -y >"$out/node-apt.log" 2>&1
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - >>"$out/node-apt.log" 2>&1
|
||||
curl -fsSL --connect-timeout 10 --max-time 120 https://deb.nodesource.com/setup_22.x | sudo -E bash - >>"$out/node-apt.log" 2>&1
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs >>"$out/node-apt.log" 2>&1
|
||||
fi
|
||||
if ! command -v scrot >/dev/null 2>&1; then
|
||||
@@ -726,9 +726,11 @@ run_mantis_remote_body() {
|
||||
node_tmp="$(mktemp -d)"
|
||||
node_archive="node-v$node_version-linux-$node_arch.tar.xz"
|
||||
node_base_url="https://nodejs.org/dist/v$node_version"
|
||||
curl -fsSL --retry 3 --retry-all-errors "$node_base_url/SHASUMS256.txt" \
|
||||
# Retry quick transient failures within 120 seconds, but do not start
|
||||
# another long transfer after an attempt consumes that full deadline.
|
||||
curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-max-time 120 --retry-all-errors "$node_base_url/SHASUMS256.txt" \
|
||||
-o "$node_tmp/SHASUMS256.txt"
|
||||
curl -fsSL --retry 3 --retry-all-errors "$node_base_url/$node_archive" \
|
||||
curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-max-time 120 --retry-all-errors "$node_base_url/$node_archive" \
|
||||
-o "$node_tmp/$node_archive"
|
||||
(cd "$node_tmp" && grep " $node_archive$" SHASUMS256.txt | sha256sum -c -)
|
||||
rm -rf "$node_root"
|
||||
@@ -757,7 +759,9 @@ console.log(match[1] + " " + match[2]);
|
||||
pnpm_root="$out/pnpm-$pnpm_version"
|
||||
pnpm_archive="$pnpm_root/pnpm.tgz"
|
||||
mkdir -p "$pnpm_root"
|
||||
curl -fsSL --retry 3 --retry-all-errors \
|
||||
# Retry quick transient failures within 120 seconds, but do not start
|
||||
# another long transfer after an attempt consumes that full deadline.
|
||||
curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-max-time 120 --retry-all-errors \
|
||||
"https://registry.npmjs.org/pnpm/-/pnpm-$pnpm_version.tgz" \
|
||||
-o "$pnpm_archive"
|
||||
downloaded_pnpm_sha512="$(sha512sum "$pnpm_archive" | awk '{print $1}')"
|
||||
|
||||
Reference in New Issue
Block a user