fix(ci): pin docker-build jobs to docker-capable runners #601

Closed
hongming-pc2 wants to merge 1 commits from infra/576-docker-runner-label into main

1 Commits

Author SHA1 Message Date
634f938917 fix(ci): pin docker-build jobs to docker-capable runners
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 12s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 12s
CI / Detect changes (pull_request) Successful in 29s
E2E API Smoke Test / detect-changes (pull_request) Successful in 36s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 10s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 31s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 30s
gate-check-v3 / gate-check (pull_request) Successful in 15s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 26s
qa-review / approved (pull_request) Failing after 13s
security-review / approved (pull_request) Failing after 13s
sop-tier-check / tier-check (pull_request) Successful in 14s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 5s
CI / Platform (Go) (pull_request) Successful in 6s
CI / Canvas (Next.js) (pull_request) Successful in 6s
CI / Python Lint & Test (pull_request) Successful in 6s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 7s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 7s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 5s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 5s
audit-force-merge / audit (pull_request) Has been skipped
Fixes #576: publish-workspace-server-image / build-and-push red every run
due to runner landing on non-docker-capable machine.

Per gitea-operational-quirks.md §3: Hetzner act_runner containers
register labels self-hosted + ubuntu-latest + docker. Only docker-labeled
runners have /var/run/docker.sock mounted. The previous
`runs-on: ubuntu-latest` coin-flipped between docker-capable and
non-docker runners, causing Verify Docker daemon access to fail.

Fix: runs-on: [self-hosted, docker] for both docker-build workflows:
  - publish-workspace-server-image.yml
  - publish-canvas-image.yml (also uses docker/build-push-action)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 23:14:17 +00:00