Compare commits

..

3 Commits

Author SHA1 Message Date
wangjia 4ca21f9ee9 ci: 修外网发版 GFW 网络坑(sing-box 公网镜像 + gradle/maven 国内镜像)(#5)
ci-pangolin / Redline Scan — 脱敏 (UI 文案) (push) Successful in 26s
ci-pangolin / Cleartext Scan — Android 禁明文 (push) Successful in 21s
ci-pangolin / Portable SQL — 可移植性 (mysql/sqlite) (push) Successful in 24s
ci-pangolin / Golden — 视觉回归 (全量:components/auth/desktop/tablet) (push) Failing after 13m27s
ci-pangolin / Go — integration (mysql/redis testcontainers) (push) Failing after 13m36s
ci-pangolin / E2E Smoke — L4 进程级端到端 (push) Failing after 13m46s
ci-pangolin / Go — build + test (push) Failing after 13m56s
ci-pangolin / DS-flow — 原型/跨端同源/代码色单源闸 (push) Failing after 14m7s
ci-pangolin / Codegen Drift — token 生成物未漂移 (push) Failing after 14m17s
ci-pangolin / Flutter — analyze + test (push) Failing after 14m28s
ci-pangolin / OpenAPI Sync Check (push) Failing after 14m36s
ci-pangolin / Lint — shellcheck (push) Failing after 14m48s
Deploy Client / build-windows (push) Successful in 1m46s
Deploy Client / build-android (push) Failing after 44m39s
Deploy Client / release-deploy (push) Has been skipped
Deploy Client / build-macos (push) Failing after 2m5s
Deploy Client / build-ios (push) Successful in 10m6s
2026-07-26 12:44:36 +00:00
wangjia caaed88298 ci(android): gradle 发行版 + maven 依赖走国内镜像(修 #215 22min 挂)
ci-pangolin / Redline Scan — 脱敏 (UI 文案) (pull_request) Successful in 20s
ci-pangolin / Cleartext Scan — Android 禁明文 (pull_request) Successful in 17s
ci-pangolin / Portable SQL — 可移植性 (mysql/sqlite) (pull_request) Successful in 16s
ci-pangolin / Lint — shellcheck (pull_request) Failing after 7s
ci-pangolin / OpenAPI Sync Check (pull_request) Successful in 12m2s
ci-pangolin / Flutter — analyze + test (pull_request) Successful in 4m19s
ci-pangolin / Golden — 视觉回归 (全量:components/auth/desktop/tablet) (pull_request) Failing after 11m12s
ci-pangolin / Go — integration (mysql/redis testcontainers) (pull_request) Failing after 11m22s
ci-pangolin / E2E Smoke — L4 进程级端到端 (pull_request) Failing after 11m32s
ci-pangolin / Go — build + test (pull_request) Failing after 11m42s
ci-pangolin / DS-flow — 原型/跨端同源/代码色单源闸 (pull_request) Failing after 11m51s
ci-pangolin / Codegen Drift — token 生成物未漂移 (pull_request) Failing after 11m59s
#215 android 跑到 flutter build apk 的 Gradle 阶段挂了 ~17min:
"Gradle threw an error while downloading artifacts from the network"
"java.io.EOFException: SSL peer shut down incorrectly"(org.gradle.wrapper.Download)
——这是 sing-box 之外的第二个 GFW 网络坑:Gradle 要下载发行版和 maven 依赖,
走了被墙的 services.gradle.org / dl.google.com / maven central,SSL 被重置。

env 里配了 GOPROXY/PUB/FLUTTER 镜像,唯独 Gradle+Maven 没配。改:
- gradle-wrapper.properties: distributionUrl → 腾讯云 gradle 镜像(同一份 zip)。
- settings.gradle / build.gradle: repositories 前置阿里云 google/public/gradle-plugin
  镜像,原 google()/mavenCentral()/gradlePluginPortal() 保留作 fallback。

镜像已逐个验证:腾讯 gradle-8.7-bin.zip(206)、阿里云 AGP 8.6.0 pom(200)、
kotlin.android 2.2.0(200)均可取。全球通用,墙内不再依赖被墙源。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A79VtQA1BwTuQN1ThpvYpo
2026-07-26 11:15:14 +08:00
wangjia fc1160ecb3 ci(client): sing-box 源码统一走公网镜像 git.51yanmei.com(android/ios/macos)
ci-pangolin / Redline Scan — 脱敏 (UI 文案) (pull_request) Successful in 24s
ci-pangolin / Cleartext Scan — Android 禁明文 (pull_request) Successful in 20s
ci-pangolin / Portable SQL — 可移植性 (mysql/sqlite) (pull_request) Successful in 18s
ci-pangolin / Lint — shellcheck (pull_request) Successful in 3m17s
ci-pangolin / OpenAPI Sync Check (pull_request) Successful in 9m23s
ci-pangolin / Flutter — analyze + test (pull_request) Successful in 1m20s
ci-pangolin / Codegen Drift — token 生成物未漂移 (pull_request) Successful in 5m29s
ci-pangolin / DS-flow — 原型/跨端同源/代码色单源闸 (pull_request) Successful in 54s
ci-pangolin / Go — build + test (pull_request) Failing after 1m20s
ci-pangolin / E2E Smoke — L4 进程级端到端 (pull_request) Failing after 17m49s
ci-pangolin / Go — integration (mysql/redis testcontainers) (pull_request) Failing after 5m24s
ci-pangolin / Golden — 视觉回归 (全量:components/auth/desktop/tablet) (pull_request) Successful in 1m16s
android/ios/macos 三端都内嵌 libbox,编译期都要 git clone sing-box 源码。
此前只有 build-android 注入了 SINGBOX_GIT(且指向本地 relay 127.0.0.1:13000,
依赖 tailscale/LAN,Mac runner 出外网即失效),ios/macos 完全没注入 → 直接
clone github.com → 被 GFW/DNS 污染打挂(SSL_ERROR_SYSCALL,exit 128)。

统一改用稳定公网域名 git.51yanmei.com(ali frps ← 家里 NAS frpc,nginx 443
反代 gitea)——外网/内网都通,不依赖本地 relay/tailscale。已用真实 clone 命令
从外网验证 v1.13.13 可拉。ios/macos 同时补 GOPROXY(gomobile go install)。
build-windows 保持 LAN 镜像不动(Windows 台式机固定在家,不移动)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A79VtQA1BwTuQN1ThpvYpo
2026-07-26 10:36:08 +08:00
4 changed files with 21 additions and 4 deletions
+10 -3
View File
@@ -39,9 +39,10 @@ jobs:
GOPROXY: https://goproxy.cn,direct
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
# sing-box 源码经 NAS gitea 镜像取(mac runner 连不上 github;经 runner 的
# gitea relay 127.0.0.1:13000 → wangjia/sing-box)。见 scripts/build-libbox.sh。
SINGBOX_GIT: http://127.0.0.1:13000/wangjia/sing-box.git
# sing-box 源码经 NAS gitea 公网镜像取(mac runner 连不上 github)。
# 用稳定公网域名 git.51yanmei.com(ali frps ← 家里 NAS frpc,nginx 443 反代
# gitea)—— 外网/内网都通,不依赖本地 relay/tailscale。见 scripts/build-libbox.sh。
SINGBOX_GIT: https://git.51yanmei.com/wangjia/sing-box.git
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -112,8 +113,11 @@ jobs:
runs-on: mac
continue-on-error: true
env:
GOPROXY: https://goproxy.cn,direct
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
# macOS 同样内嵌 libbox → 同走 NAS gitea 公网镜像取 sing-box 源码(见 build-android)。
SINGBOX_GIT: https://git.51yanmei.com/wangjia/sing-box.git
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -143,8 +147,11 @@ jobs:
runs-on: mac
continue-on-error: true
env:
GOPROXY: https://goproxy.cn,direct
PUB_HOSTED_URL: https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
# iOS 同样内嵌 libbox → 同走 NAS gitea 公网镜像取 sing-box 源码(见 build-android)。
SINGBOX_GIT: https://git.51yanmei.com/wangjia/sing-box.git
steps:
- name: Checkout
uses: actions/checkout@v4
+3
View File
@@ -1,5 +1,8 @@
allprojects {
repositories {
// 国内镜像优先(见 settings.gradle 同注);原仓库保留作 fallback。
maven { url "https://maven.aliyun.com/repository/google" }
maven { url "https://maven.aliyun.com/repository/public" }
google()
mavenCentral()
}
+3 -1
View File
@@ -2,4 +2,6 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
# 国内镜像:services.gradle.org 被 GFW 墙(SSL 重置),CI runner 在墙内下载发行版会失败。
# 腾讯云 gradle 镜像提供同一份 zip。见 client/android/{settings,build}.gradle 的 maven 镜像同理。
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.7-bin.zip
+5
View File
@@ -10,6 +10,11 @@ pluginManagement {
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
repositories {
// 国内镜像优先(CI runner 在墙内,直连 google/central/gradlePluginPortal 会被 GFW 重置);
// 原仓库保留作 fallback。与 deploy-client.yml 的 GOPROXY/PUB 镜像同理。
maven { url "https://maven.aliyun.com/repository/google" }
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
google()
mavenCentral()
gradlePluginPortal()