fix(ci): 串行化 mac 三 job(android→macos→ios) 消除单 runner 争用
run#286 暴露:三个 runs-on:mac 并行,家里只一个 mac runner(capacity=1), android 占住后 macos/ios 抢不到 runner 被整体 cancelled(全步骤含 Checkout 都 cancelled)→ iOS 没跑起来、没上 TestFlight。用 needs 把 mac 三 job 串成 链(build-macos needs android、build-ios needs macos)+ if:!cancelled() 保证 上游失败也照跑,一个跑完再跑下一个,不再争用。windows/deploy-web 在各自 runner 上仍并行。对齐 jiu 的 needs 链。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FEVUXAbFT6bF1Qw27RHWoD
This commit is contained in:
@@ -96,6 +96,13 @@ jobs:
|
||||
# APPSTORE_API_* 等),macos/ios 正常应成功;continue-on-error 只是抖动兜底。
|
||||
build-macos:
|
||||
runs-on: mac
|
||||
# 串行化 mac 三 job(android→macos→ios):家里只有一个 mac runner(capacity=1),
|
||||
# 三个 runs-on:mac 并行会抢同一 runner → 抢不到的被取消(run#286 的 macos/ios 全步
|
||||
# 骤 cancelled 即此)。用 needs 串成链让它们一个跑完再跑下一个;`if: !cancelled()`
|
||||
# 保证即便上游(android/macos)失败,本 job 仍在其完成后照跑(不因上游 fail 被 skip),
|
||||
# 与 continue-on-error 一起兜住「单平台抖动不拖累其他平台」。对齐 jiu 的 needs 链。
|
||||
needs: [build-android]
|
||||
if: ${{ !cancelled() }}
|
||||
continue-on-error: true
|
||||
env:
|
||||
GOPROXY: https://goproxy.cn,direct
|
||||
@@ -138,6 +145,9 @@ jobs:
|
||||
|
||||
build-ios:
|
||||
runs-on: mac
|
||||
# 串行链末环:等 build-macos 完成再跑(单 mac runner 不争用,见 build-macos 注释)。
|
||||
needs: [build-macos]
|
||||
if: ${{ !cancelled() }}
|
||||
continue-on-error: true
|
||||
env:
|
||||
GOPROXY: https://goproxy.cn,direct
|
||||
|
||||
Reference in New Issue
Block a user