desktop.yml: every job has its own deadline (#5409)
CI & Build / Python lint (push) Successful in 2s
CI & Build / Build now, or wait for Android? (push) Successful in 2s
Android / Build, or is the channel already serving this? (push) Successful in 2s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 2s
CI & Build / Web typecheck and unit tests (push) Successful in 10s
CI & Build / Python tests (push) Successful in 12s
Android / Core and FFI clippy and tests (push) Successful in 31s
CI & Build / integration (push) Successful in 1m34s
CI & Build / Build & push image (push) Skipped
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Successful in 1m56s
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 3m10s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 3m54s
Desktop (Tauri) / Update manifest (push) Successful in 4s
Android / Kotlin + Rust (APK) (push) Failing after 5m46s
Android / Build the server image (push) Successful in 1s

Run 8830's Linux bundle sat on a rust-lld link whose 17 threads were all
parked on futexes until the runner's own 30-minute cap ended it. verify, the
Linux and Windows builds get 20 minutes (warm runs take ~4, and a cold one
compiles the tree in about two), the manifest 5. Kept under the runner's cap
so these are the limits that fire.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 15:37:34 -04:00
co-authored by Claude Opus 5.5
parent 78810d8832
commit 0ecdbfe257
+8
View File
@@ -91,6 +91,7 @@ jobs:
verify:
name: Web tests, clippy, Rust tests and rustfmt
needs: [decide]
timeout-minutes: 20
if: needs.decide.outputs.build == 'true'
runs-on: python-ci
container:
@@ -146,6 +147,11 @@ jobs:
build:
name: Tauri desktop (Linux)
needs: [decide, verify]
# A deadline, not a budget: warm builds take ~4 minutes. Without one a hung step
# runs to the runner's own 30-minute cap, as run 8830 did on a rust-lld link whose
# threads had all deadlocked (#5409). Kept under that cap so this one is the limit
# that fires, whatever the runner is configured with.
timeout-minutes: 20
if: needs.decide.outputs.build == 'true'
runs-on: python-ci
container:
@@ -339,6 +345,7 @@ jobs:
windows:
name: Windows installer (cross-compiled)
needs: [decide, verify]
timeout-minutes: 20
if: needs.decide.outputs.build == 'true'
runs-on: python-ci
container:
@@ -471,6 +478,7 @@ jobs:
manifest:
name: Update manifest
needs: [build, windows]
timeout-minutes: 5
if: github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main'
runs-on: python-ci
container: