fix: add go download fallback for production bootstrap

This commit is contained in:
hectorzhao
2026-07-07 15:08:39 +08:00
parent ac859d5607
commit a35ba4886a
+14 -1
View File
@@ -80,7 +80,20 @@ install_go() {
return return
fi fi
log "Installing Go ${version} for linux-${arch}" log "Installing Go ${version} for linux-${arch}"
curl -fL "https://go.dev/dl/go${version}.linux-${arch}.tar.gz" -o /tmp/go.tar.gz local downloaded=""
for url in \
"https://dl.google.com/go/go${version}.linux-${arch}.tar.gz" \
"https://golang.google.cn/dl/go${version}.linux-${arch}.tar.gz" \
"https://go.dev/dl/go${version}.linux-${arch}.tar.gz"; do
if curl -fL --connect-timeout 20 --max-time 300 "$url" -o /tmp/go.tar.gz; then
downloaded="yes"
break
fi
done
if [[ "$downloaded" != "yes" ]]; then
echo "Failed to download Go ${version} for linux-${arch}." >&2
exit 1
fi
rm -rf /usr/local/go rm -rf /usr/local/go
tar -C /usr/local -xzf /tmp/go.tar.gz tar -C /usr/local -xzf /tmp/go.tar.gz
ln -sf /usr/local/go/bin/go /usr/local/bin/go ln -sf /usr/local/go/bin/go /usr/local/bin/go