hermes-agent/.github/workflows
ethernet 7144eb4900 ci: poll review statuses from artifacts dynamically
The live comment poller previously got its review status payloads from
two sources: (1) REVIEW_STATUSES env var, frozen at comment-live job
start from needs.*.outputs.review_status, and (2) a single ci-timings
artifact fetched at the end. This meant status details (error messages,
action_required items, etc.) only appeared in the comment after all
jobs finished, even though job pass/fail was visible in real-time.

Now every status-producing workflow_call uploads a small review-status
artifact (review-status-<name>) as soon as it completes. The poller
enumerates all review-status-* artifacts across the orchestrator run
and all sub-workflow runs every cycle, downloads each, and merges them
into the comment. Statuses appear as soon as each job finishes, not
just at the end.

Changes:
- live_comment.py: replace _fetch_artifact_statuses (single artifact
  via gh CLI) with fetch_all_review_statuses (enumerate all
  review-status-* artifacts via API across all runs, download + parse
  each). Remove review_statuses_json parameter and --review-statuses-
  file CLI arg. Remove subprocess import (no longer shells out to gh).
- ci.yml: remove REVIEW_STATUSES env var, inline Python merger, and
  --review-statuses-file arg from the comment-live step. Rename
  ci-timings-review-status artifact to review-status-ci-timings.
- 8 workflow_call files: add a write review-status.json + upload
  artifact step after each review_status output is produced.
- test_live_comment.py: add tests for _parse_status_file (with/without
  prefix, empty, invalid, nonexistent, non-list) and _merge_statuses.
2026-07-24 18:10:38 -04:00
..
ci.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
contributor-check.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
deploy-site.yml fix(ci): publish inline E2E evidence (#69699) 2026-07-23 02:15:23 +00:00
docker-lint.yml change(ci): docker-publish.yml -> docker.yml 2026-06-26 19:15:18 -07:00
docker.yml fix(ci): run trusted Docker publish directly (#69803) 2026-07-22 23:36:45 -04:00
docs-site-checks.yml fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
e2e-desktop.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
history-check.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
js-autofix.yml fix(ci): publish inline E2E evidence (#69699) 2026-07-23 02:15:23 +00:00
js-tests.yml ci(js-tests): split check into parallel matrix shards per workspace (#70252) 2026-07-23 18:45:16 -04:00
label-rerun.yml ci: live-updating PR review comment with structured job statuses 2026-07-20 16:48:25 -04:00
lint.yml ci: live-updating PR review comment with structured job statuses 2026-07-20 16:48:25 -04:00
lockfile-diff.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
osv-scanner.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
publish-e2e-evidence.yml fix(ci): authenticate gh-image installation (#69793) 2026-07-23 03:23:28 +00:00
review-labels.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
skills-index-freshness.yml fix(ci): publish inline E2E evidence (#69699) 2026-07-23 02:15:23 +00:00
skills-index.yml fix(ci): publish inline E2E evidence (#69699) 2026-07-23 02:15:23 +00:00
supply-chain-audit.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00
tests.yml rip out brew + pip/PyPI wheel support (#68217) 2026-07-22 16:51:01 -04:00
uv-lockfile-check.yml ci: poll review statuses from artifacts dynamically 2026-07-24 18:10:38 -04:00