Isolate daemon package tests to reduce disk contention (#53897)

## Why

Daemon package tests copy full debug CLI packages. Running these I/O-heavy cases alongside other tests can increase shared-disk writeback pressure.

## What changed

- Move package installation and replacement coverage into the `app_server_daemon_package` test binary, sharing daemon fixtures with the lifecycle tests.
- Reserve all nextest test threads for each package test and add an exclusive Bazel target that runs the cases serially on Linux and macOS.
- Hard-link the prepared fixture executable during package setup, while retaining real independent package copies in the installer.

GitOrigin-RevId: 255ac8caf75d9eb61bafe68f1f9bcfa99ee72484
This commit is contained in:
Eric Traut
2026-10-14 07:13:22 +00:00
committed by copyberry
parent 4906ddf5b8
commit 97771b1d78
6 changed files with 408 additions and 332 deletions
+5 -3
View File
@@ -12,13 +12,15 @@ slow-timeout = { period = "1m", terminate-after = 2 }
[[profile.default.overrides]]
# This case validates and copies both the initial and replacement debug package.
filter = 'package(codex-cli) & binary(app_server_daemon) & test(=packaged_daemon_start_and_explicit_replacement)'
filter = 'package(codex-cli) & binary(=app_server_daemon_package) & test(=packaged_daemon_start_and_explicit_replacement)'
slow-timeout = { period = "1m", terminate-after = 3 }
threads-required = "num-test-threads"
[[profile.default.overrides]]
# These cases copy a full debug CLI package and launch its new executable.
filter = 'package(codex-cli) & binary(app_server_daemon) & test(packaged_daemon_)'
# These copies must not compete with other tests on the same runner.
filter = 'package(codex-cli) & binary(=app_server_daemon_package)'
slow-timeout = { period = "1m", terminate-after = 2 }
threads-required = "num-test-threads"
[profile.default.junit]
path = "junit.xml"