mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-08-09 23:33:12 +00:00
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.