hermes-agent/.github/workflows
Kshitij Kapoor acfd376d66 ci(docker): retry buildx setup on transient Docker Hub failures
The Docker Build, Test, and Publish workflow fails when
docker/setup-buildx-action can't pull the moby/buildkit:buildx-stable-1
image from Docker Hub. The failure happens during builder bootstrap at
the auth token exchange — a transient network blip (connection reset,
read timeout, rate limiting) that self-resolves on re-run.

Recent failure (run 30449230291, merge job):
  read tcp 10.1.0.171:45666->104.18.43.178:443: read: connection reset by peer

This has hit us before and will again — it's the same class of
transient Docker Hub flake that the merge job already retries for
imagetools create. But buildx setup had no retry, so a single network
hiccup killed the entire job (build, publish, or merge) even though
nothing was wrong with the code or the image.

Fix: wrap each of the 3 buildx setup steps (build, publish, merge jobs)
with continue-on-error + a conditional retry step. The maintained action
is preserved as-is — we just give it a second attempt if the first
fails. The action generates a unique builder name per invocation, so the
retry never collides with the failed first attempt. The second attempt
has no continue-on-error, so genuine persistent failures still fail the
job.

The docker/setup-buildx-action maintainer has explicitly said retry
belongs at the workflow level, not inside the action [1], and other
repos use this same continue-on-error pattern for this exact issue [2].

[1] docker/setup-buildx-action#510
[2] joshjhall/containers#688, ethpandaops/eth-client-docker-image-builder#391
2026-07-30 21:12:59 +05:30
..
ci.yml chore: untrack committed PR infographics and enforce the rule in CI 2026-07-26 11:54:03 -07:00
contributor-check.yml ci: live-updating PR review comment with structured job statuses 2026-07-20 16:48:25 -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 ci(docker): retry buildx setup on transient Docker Hub failures 2026-07-30 21:12:59 +05:30
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: pin uv version in setup-uv to eliminate per-job manifest fetch 2026-07-28 17:59:23 -07:00
history-check.yml ci: live-updating PR review comment with structured job statuses 2026-07-20 16:48:25 -04:00
infographic-check.yml chore: untrack committed PR infographics and enforce the rule in CI 2026-07-26 11:54:03 -07: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: pin uv version in setup-uv to eliminate per-job manifest fetch 2026-07-28 17:59:23 -07:00
lockfile-diff.yml ci: live-updating PR review comment with structured job statuses 2026-07-20 16:48:25 -04:00
osv-scanner.yml ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00:00
publish-e2e-evidence.yml fix(ci): authenticate gh-image installation (#69793) 2026-07-23 03:23:28 +00:00
review-labels.yml ci: surface E2E screenshots in review comment (#69631) 2026-07-22 23:19:53 +00: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 fix(ci): publish inline E2E evidence (#69699) 2026-07-23 02:15:23 +00:00
tests.yml Refresh on upstream/main: resolve conflicts (no behavior change) 2026-07-29 18:55:10 -07:00
uv-lockfile-check.yml ci: pin uv version in setup-uv to eliminate per-job manifest fetch 2026-07-28 17:59:23 -07:00