hermes-agent/scripts
ethernet 7aecab56db ci: move the review comment and the image build out of the CI run
The CI run stayed in progress until its last job ended. Two advisory jobs
set that time: the review-comment poller (40 minutes) and the Docker image
build (45 minutes). Neither job was required to merge.

GitHub refuses `gh run rerun` on a run that is in progress. Thus a reviewer
who added the `ci-reviewed` label had to wait for the two slow jobs, and
label-rerun.yml carried a 2100-second wait loop for this reason. The fast
required jobs were ready long before.

Each slow job now runs in its own workflow:

- docker.yml owns its `pull_request` trigger and does its own change
  detection. The new `detect` job runs the same composite action with the
  same condition that ci.yml applied, so a tests-only PR still skips the
  build. The `workflow_call` trigger is gone.
- ci-review-comment.yml starts on `workflow_run` when CI starts. It reads
  the workflow and the scripts from the default branch, which is the trust
  boundary that the old job got from its `ref: default_branch` checkout.

The poller reads job results through the API, so it can report on a run
that it does not belong to. `WATCH_WORKFLOWS` names sibling workflows for
the same commit, and `select_watched_runs` keeps the newest run for each
name. Thus the comment still shows the Docker results. The list is
newline-separated, because a workflow name can contain a comma.

The poller always exits 0 now. It reports on the CI run from a different
run, so a failed CI job is not a failure of the poller. The CI run has its
own gate for that.

Also correct a parse error in label-rerun.yml. STATUS came from the already
truncated RUN_ID, so its value was the run id and never "completed". Thus
the wait branch always ran.

ci.yml no longer needs `packages: write`, because the image build has left.
2026-08-09 15:40:04 -04:00
..
ci ci: move the review comment and the image build out of the CI run 2026-08-09 15:40:04 -04:00
lib
observability
sandbox feat(dev-sandbox): support fake installer / fake main / git clones 2026-08-04 17:36:26 -04:00
tests test(install): exercise 8.3 normalization by running install.ps1, not by parsing it 2026-08-04 15:34:32 -06:00
toolperf_abeval feat(scripts): reproducible core-toolset A/B eval harness (toolperf_abeval) 2026-08-05 13:43:30 -07:00
whatsapp-bridge fix(deps): patch 31 known CVEs across Python and npm lockfiles 2026-08-08 14:06:48 -07:00
LIVETEST_README.md
add_contributor.py
analyze_livetest.py
audit_pr_attribution.py
benchmark_browser_eval.py
build_model_catalog.py
build_skills_index.py
capture-cage-terminal.sh
check-windows-footguns.py feat(lint): close the fdopen + chained-call gaps in the encoding footgun gate 2026-08-08 12:32:23 -07:00
check_subprocess_stdin.py
contributor_audit.py
desktop-update.ps1 fix(desktop): focus the update progress window, then hand focus to the relaunched Desktop 2026-08-09 02:01:57 -07:00
dev-sandbox.sh feat(dev-sandbox): support fake installer / fake main / git clones 2026-08-04 17:36:26 -04:00
discord-voice-doctor.py
docker_config_migrate.py
docker_rebootstrap_nous_session.py
generate_conformance_vectors.py
hermes-gateway
install.cmd
install.ps1 fix(install): replay npm's debug log into the bootstrap stream on failure 2026-08-08 22:55:00 -07:00
install.sh
install_psutil_android.py
iso-certify.py
keystroke_diagnostic.py
kill_modal.sh
lint_diff.py
micro_compaction_report.py
profile-tui.py
release.py chore: map kweiner contributor email 2026-08-08 14:06:30 +05:30
run_tests.sh fix(tests): forward HERMES_TEST_* knobs through the hermetic runner 2026-08-05 19:46:43 -04:00
run_tests_parallel.py fix(tests): Windows-aware path-list split and UTF-8 progress output in parallel runner 2026-08-08 12:33:19 -07:00
sample_and_compress.py
smoke_nemo_relay_shared_metrics.py Merge updated client resource metrics into active-install metrics 2026-08-04 15:10:41 -07:00
tool_search_livetest.py
tool_search_livetest2.py
tool_search_livetest_ue.py
tool_search_livetest_ue_disc.py
tool_search_livetest_ue_hard.py