ci: faster, stricter CI (instrumented gate, parallel jobs, test forks) (#1348)

This commit is contained in:
m57 authored and GitHub committed 2026-09-28 00:20:52 +03:00
1 parent 2a41a8a417
commit d81fc39f25
6 files changed
+58 -19

No files matched your search

@@ -25,6 +25,9 @@ open class NotificationReplyReceiver : BroadcastReceiver() {
const val EXTRA_SESSION_ID = "extra_session_id"
private const val REPLY_TIMEOUT_MS = 5_000L
/** Overall deadline for persisting and submitting one notification reply. */
private const val PERSISTENCE_TIMEOUT_MS = 5_000L
/**
* Turn-boundary read budget inside the reply deadline. Deliberately tight:
* the probe sits on the reply path, so a slow or unreachable gateway must
@@ -44,6 +47,9 @@ open class NotificationReplyReceiver : BroadcastReceiver() {
*/
internal open fun goAsyncCompat(): BroadcastReceiver.PendingResult = goAsync()
/** Overridable so tests can prove the timeout path without waiting 5s. */
internal open val persistenceTimeoutMs: Long get() = PERSISTENCE_TIMEOUT_MS
/**
* Test-friendly wrapper for notification creation. Override in tests to
* avoid [NotificationCompat.Builder.build()] calling Android framework
@@ -75,7 +81,7 @@ open class NotificationReplyReceiver : BroadcastReceiver() {
val pendingResult = goAsyncCompat()
replyScope.launch {
try {
withTimeout(5000L) {
withTimeout(persistenceTimeoutMs) {
withContext(Dispatchers.IO) {
val db =
com.m57.hermescontrol.data.local.HermesDatabase