hermes-agent/.github/actions
Teknium 3ea2c90d23
refactor(ci): DRY the retried label-fetch into a composite action
Address @ethernet8023's review nits (both flagged non-blocking):

- Extract the copy-pasted retried `gh pr view` label-fetch loop (lint.yml
  ci-review gate + supply-chain-audit.yml mcp-catalog gate) into a single
  .github/actions/gh-pr-labels composite action. It preserves the exact
  semantics the reviewer verified: retry on transient API failure, exit 1
  after N attempts (re-runnable), and a clean fetch that simply lacks the
  label reports has-label=false rather than hard-failing. Both gates now
  consume the has-label output.
- Rewrite the Dockerfile playwright retry from the compact
  `&& break || { ... }` one-liner into the readable multi-line if/sleep
  form used everywhere else.

E2E-verified the composite action against a stubbed gh across four cases:
label present -> has-label=true; absent -> has-label=false; API always
fails -> exit 1 + annotation, no output written; transient (fail-once) ->
recovers and reports true. All workflow/action YAML parses; bash -n clean.
2026-07-17 13:56:18 -07:00
..
detect-changes fix(ci): kill the remaining transient-failure classes in workflows + Dockerfile 2026-07-17 13:54:04 -07:00
gh-pr-labels refactor(ci): DRY the retried label-fetch into a composite action 2026-07-17 13:56:18 -07:00
nix-setup fix(nix): replace magic-nix-cache with Cachix (#17928) 2026-04-30 17:38:58 +05:30
retry ci: make dependency installs resilient to transient flakes 2026-06-23 09:30:50 -07:00