fix: add go download fallback for production bootstrap
This commit is contained in:
@@ -80,7 +80,20 @@ install_go() {
|
||||
return
|
||||
fi
|
||||
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
|
||||
tar -C /usr/local -xzf /tmp/go.tar.gz
|
||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
||||
|
||||
Reference in New Issue
Block a user