diff --git a/.gitea/workflows/deploy-client.yml b/.gitea/workflows/deploy-client.yml index 3d4b3f5..106e6fb 100644 --- a/.gitea/workflows/deploy-client.yml +++ b/.gitea/workflows/deploy-client.yml @@ -6,20 +6,14 @@ name: Deploy Client # intentionally DECOUPLED — see the "why build-macos/build-ios don't block" # note above the build-macos job below for the mechanism and rationale. # -# TODO(controller) — RUNNER AVAILABILITY: per docs/ci-runner.md, pangolin -# currently has exactly ONE registered Gitea Actions runner -# ("mac-pangolin-2", label `nas:host`). Neither `runs-on: mac` nor -# `runs-on: windows` below has any runner registered to pick it up yet — this -# workflow will queue forever until that's fixed. Options: (a) register -# mac-pangolin-2 with an additional `mac` label (it's already a mac host — -# cheapest fix for build-android/release-deploy) and separately stand up + -# register an actual Windows host runner labeled `windows` for build-windows -# (no such machine exists per docs/ci-runner.md), or (b) repoint both at -# `nas` and accept that Android/Windows builds then compete with the -# docker-in-domain nas jobs on the same single mac host. This mirrors the -# `runs-on: mac` / `runs-on: windows` split already planned in -# docs/superpowers/plans/2026-07-05-cicd.md Task 7/10 — written that way here -# for fidelity to that plan, NOT because the runners are confirmed to exist. +# RUNNER 就绪(2026-09-07 起,过时 TODO 已删):用户级 mac runner(label `mac`)+ +# windows runner(label `windows`)均已注册(单一真相源见 baize ci_runners)。 +# runs-on: mac / windows 正常派工,不再无限排队。 +# +# WEB 已并入本工作流(deploy-web job,构建 usercenter+website → Cloudflare Pages)—— +# 一个 `client-v*` tag 即发 **web + iOS/mac/Android/Windows**(对齐 jiu 的 +# deploy-client)。仅发 web 仍可用独立的 site-v* / deploy-site.yml(逻辑同源,共用 +# scripts/ci/{compile-site,compile-usercenter,combine-site,deploy-site}.sh)。 on: push: tags: @@ -177,6 +171,30 @@ jobs: # No artifact upload — compile-ios.sh uploads straight to TestFlight via # altool (matches jiu); nothing is produced under dist/ for this job. + # WEB(用户中心 usercenter + 官网 website → Cloudflare Pages):并入本工作流,使 + # 一个 client-v* tag 同时发 web + 四客户端平台(对齐 jiu 的 build-client-web)。 + # 与 deploy-site.yml 同源(共用 scripts/ci/{compile-site,compile-usercenter, + # combine-site,deploy-site}.sh);web 直接自部署到 CF Pages,不产 dist/ 产物、 + # 不进 release-deploy 的 artifact 下载。ubuntu-latest = 家里 nas act_runner。 + deploy-web: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Compile (Astro 官网) + env: + SITE_URL: https://pangolin.yanmeiai.com + run: bash scripts/ci/compile-site.sh + - name: Compile (用户中心 Next.js) + run: bash scripts/ci/compile-usercenter.sh + - name: Combine (官网 + 用户中心) + run: bash scripts/ci/combine-site.sh + - name: Deploy → Cloudflare Pages + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + run: bash scripts/ci/deploy-site.sh + # release-deploy 发布策略:needs 全部四平台(等它们**完成**,不抢跑),但用 # `if` 让 mac/ios/windows 的失败不 skip 本 job —— 只要 android(稳定 floor)成功即发。 # 背景:build-macos/ios 必须跑在 mac runner,其 Checkout(git fetch git.51yanmei.com) @@ -187,7 +205,7 @@ jobs: # · continue-on-error 在 gitea 里**不**让下游 needs 在失败时继续(会 skip),故必须 # 配 `if: always() && needs.build-android.result=='success'` 才能「等全部、失败不阻」。 release-deploy: - needs: [build-android, build-windows, build-macos, build-ios] + needs: [build-android, build-windows, build-macos, build-ios, deploy-web] if: ${{ always() && needs.build-android.result == 'success' }} # ubuntu-latest = 家里 nas act_runner,与 gitea 同机/同网:Release → Forgejo 的 # API 调用走本地不过 frps 隧道(mac runner 走 git.51yanmei.com→frps→抖,curl 超时 diff --git a/client/ios/Runner/Info.plist b/client/ios/Runner/Info.plist index ba703ee..b062098 100644 --- a/client/ios/Runner/Info.plist +++ b/client/ios/Runner/Info.plist @@ -51,5 +51,10 @@ ⚠️ 红线词规范:避免 VPN/翻墙 等词,使用「网络加速」口径 --> NSVPNUsageDescription Pangolin 使用网络加速通道为您的连接提供安全保护。 + + ITSAppUsesNonExemptEncryption +