diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 7716204..b99e536 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -26,13 +26,37 @@ jobs: else echo "📥 下载并安装Go..." - # 下载Go 1.22 + # 下载Go 1.22 - 使用国内镜像 GO_VERSION="1.22.0" GO_ARCH="linux-amd64" - GO_URL="https://go.dev/dl/go${GO_VERSION}.${GO_ARCH}.tar.gz" - echo "下载Go ${GO_VERSION}..." - wget -q ${GO_URL} -O go.tar.gz + # 尝试多个国内镜像源 + MIRRORS=( + "https://golang.google.cn/dl/go${GO_VERSION}.${GO_ARCH}.tar.gz" + "https://mirrors.aliyun.com/golang/go${GO_VERSION}.${GO_ARCH}.tar.gz" + "https://mirrors.huaweicloud.com/golang/go${GO_VERSION}.${GO_ARCH}.tar.gz" + "https://mirrors.tencent.com/go/go${GO_VERSION}.${GO_ARCH}.tar.gz" + "https://go.dev/dl/go${GO_VERSION}.${GO_ARCH}.tar.gz" + ) + + DOWNLOAD_SUCCESS=false + + for mirror in "${MIRRORS[@]}"; do + echo "尝试从镜像下载: $mirror" + if wget -q --timeout=30 --tries=3 "$mirror" -O go.tar.gz; then + echo "✅ 下载成功: $mirror" + DOWNLOAD_SUCCESS=true + break + else + echo "❌ 下载失败: $mirror" + continue + fi + done + + if [ "$DOWNLOAD_SUCCESS" = false ]; then + echo "❌ 所有镜像源下载失败" + exit 1 + fi # 解压到/usr/local echo "解压Go到/usr/local..."