hermes-agent/tests/docker
ethernet 6c21f63c96 fix(ci): review fixes — PR-read-only buildx cache, per-arch profile labels
Address review findings on the ARC migration:

- docker.yml: WIF auth (and therefore Artifact Registry cache WRITES)
  now only runs on non-PR events. The build job runs PR-controlled code
  and the publish job reads the same buildcache ref, so a PR-writable
  cache was a layer-poisoning vector. PRs of any origin keep cache
  READS via the runner pod's GKE Workload Identity — that's where the
  15min -> 2-3min win comes from; main pushes repopulate writes.
- docker.yml: profile label is now docker-tests-<arch>. Both matrix
  legs uploaded resource-profile-docker-tests; upload-artifact v4+
  rejects the duplicate and continue-on-error swallowed it, silently
  dropping one arch's profile.
- actions/profile: run the wrapped command with bash -eo pipefail to
  match normal `run:` step semantics (a failing `source .venv/...`
  must fail the step, not fall through).
- js/e2e/site workflows: bake node22 into the node_modules cache keys
  so a future node-version bump can't restore stale native builds
  (node-pty, electron postinstall) against an unchanged lockfile.
- test_container_restart_stale_pid: forward deadline_s/interval_s to
  wait_for_log instead of silently dropping them.
- doctor.py: refresh a stale comment on the in-container docker branch.
2026-07-31 14:15:26 -04:00
..
__init__.py
conftest.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_config_migration.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_container_restart.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_container_restart_stale_pid.py fix(ci): review fixes — PR-read-only buildx cache, per-arch profile labels 2026-07-31 14:15:26 -04:00
test_dashboard.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_dashboard_insecure_env.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_dashboard_oauth_gate.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_docker_exec_privilege_drop.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_docker_exec_privilege_e2e_login.py perf(tests): split boot-heavy docker test files for parallel boots 2026-07-31 14:15:26 -04:00
test_dump_build_sha.py change(ci): docker-publish.yml -> docker.yml 2026-06-26 19:15:18 -07:00
test_gateway_bootstrap_state.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_gateway_run_supervised.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_home_override_scripts.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_immutable_install.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_immutable_install_permissions.py Harden hosted Docker install tree against self-modification (#47490) 2026-06-18 09:09:21 +10:00
test_license_file_present.py refactor(ci): rewrite docker tests to check built container 2026-06-26 19:15:18 -07:00
test_log_dir_seed.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_main_invocation.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_profile_gateway.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_puid_pgid_remap.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_s6_profile_gateway_integration.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_smoke.py change(ci): migrate docker smoketests to real tests 2026-06-26 19:15:18 -07:00
test_sqlite_runtime.py fix(docker): ship a WAL-reset-safe SQLite runtime 2026-07-26 17:20:31 -07:00
test_stage2_browser_discovery.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_tini_compat_shim.py test: prune wave 2 + speed fixes — 28,106 → 19,757 test functions, suite wall 315s → 294s 2026-07-29 13:39:40 -07:00
test_toplevel_chown.py refactor(ci): rewrite docker tests to check built container 2026-06-26 19:15:18 -07:00
test_tui_passthrough.py test(docker): make tty-passthrough probe robust to container boot-log noise (#38665) 2026-06-04 13:19:13 +10:00
test_tui_prebuilt_bundle.py fix(docker): point TUI launcher at prebuilt bundle via HERMES_TUI_DIR (#37923) 2026-06-03 15:30:45 +10:00
test_user_flag_guard.py refactor(ci): rewrite docker tests to check built container 2026-06-26 19:15:18 -07:00
test_zombie_reaping.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00