ci: add step-level timeouts and cap E2E hang at 5 min (#67)

- Split single 'Run Full Check Suite' step into named steps so per-step
  timing is visible in the CI UI
- Add timeout-minutes: 20 to the overall job and timeout-minutes: 6 to
  the UI E2E step — previously a stuck xvfb-run could hang for 23+ min
- Add 'timeout 300' to xvfb-run in integration_ui_test.sh so the E2E
  test exits with a clear error instead of hanging indefinitely

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas SharedInbox
2026-05-14 15:36:31 +02:00
co-authored by Claude Sonnet 4.6
parent f6f10700f8
commit c45b0e852e
2 changed files with 20 additions and 6 deletions
+19 -5
View File
@@ -8,8 +8,8 @@ on:
jobs:
check:
name: Full Project Check
# Match the label of your self-hosted runner
runs-on: self-hosted
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
@@ -19,10 +19,24 @@ jobs:
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
- name: Run Full Check Suite
# Using nix develop ensures the runner doesn't need flutter/dart/stalwart installed globally.
# 'task check' runs analyze, unit tests, widget tests, and integration tests.
run: nix develop --command task check
- name: Analyze
run: nix develop --command task analyze
- name: Unit + Widget tests
run: nix develop --command task test
- name: Build Linux
run: nix develop --command task build-linux
- name: Integration tests
run: nix develop --command task integration
- name: UI E2E tests
timeout-minutes: 6
run: nix develop --command task integration-ui
- name: Coverage gate
run: nix develop --command task coverage
build-linux:
name: Build Linux Release