ci: fail hanging tests by name instead of holding the job (#149)

Nightly #302 and the PR check for #147 hung in :app-desktop:test for
over an hour, and the log named only the task. Thirteen reruns of the
same commit passed, so the hang is rare and still unidentified.

Every test now gets a two-minute JUnit timeout in a separate thread, so
even an uninterruptible hang fails with the test's name and the stack
where it stood. The test jobs are capped at 20 minutes for a hang
outside any test.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Rsclub2_2andClaude Opus 5.5 authored and GitHub committed 2026-10-25 00:47:25 +02:00
1 parent a4e10300e7
commit af8affda8c
4 files changed
+19

No files matched your search

+3
View File
@@ -155,6 +155,9 @@ jobs:
test:
name: Test (Java 21, headless)
runs-on: ubuntu-latest
# A healthy run takes about four minutes. The per-test limit in build.gradle.kts names
# a hanging test; this cap covers a hang outside any test, such as in Gradle itself.
timeout-minutes: 20
steps:
- name: Checkout