fix(ci): pin runs-on to rpi5 + sync policy doc #13

Merged
maximus merged 1 commit from maximus/fix/runs-on-arm64-rpi5 into main 2026-05-03 20:55:27 +00:00
Collaborator

Summary

Two-in-one bundle resolving the matrix-bridge CI wedge that ate four 30s-failure attempts on PR #12.

Root cause

Diagnosis from Maximus@nas's server-side Forgejo logs: matrix-bridge's `runs-on: self-hosted` matched both the rpi5 runner (`[self-hosted, arm64, rpi5]`) and the nas runner (`[ubuntu-latest, docker, self-hosted]`). Half the dispatches landed on nas, which runs jobs in `node:20-bookworm-slim` — a container with no cc. matrix-sdk-crypto / Olm / ring all have C deps that fail to build there. PR #11's TASK-1244 succeeded only because it happened to land on rpi5 by chance.

Changes

  • `.forgejo/workflows/check.yml` — `runs-on: [self-hosted, arm64, rpi5]` (three-label match) so dispatch is deterministic. nas no longer eligible. Inherits the upstream template fix (mirus-tools `24d2fd8`).
  • `docs/AGENT_WORKFLOW.md` — synced from canonical `policy/AGENT_WORKFLOW.md` after PR #22 (option-B persona refactor) and PR #28 (other policy churn) merged on jmz/mirus-tools earlier today. The previously-wedged PR #12 had been opened to do this.

User impact

matrix-bridge's CI deterministically runs on the cc-bearing host runner. Future enrollments via `ensure-repo-policy.py --language rust` get the same fix automatically.

Verification

  • Offline: `forgejo-runner validate --workflow` passes.
  • End-to-end: this PR's CI is the live verification.
  • mirus-tools PR #31 — upstream template fix (merged at `24d2fd8`).
  • Closes the gap from PR #12 (closed unmerged).
## Summary Two-in-one bundle resolving the matrix-bridge CI wedge that ate four 30s-failure attempts on PR #12. ## Root cause Diagnosis from Maximus@nas's server-side Forgejo logs: matrix-bridge's \`runs-on: self-hosted\` matched both the rpi5 runner (\`[self-hosted, arm64, rpi5]\`) and the nas runner (\`[ubuntu-latest, docker, self-hosted]\`). Half the dispatches landed on nas, which runs jobs in \`node:20-bookworm-slim\` — a container with no cc. matrix-sdk-crypto / Olm / ring all have C deps that fail to build there. PR #11's TASK-1244 succeeded only because it happened to land on rpi5 by chance. ## Changes - \`.forgejo/workflows/check.yml\` — \`runs-on: [self-hosted, arm64, rpi5]\` (three-label match) so dispatch is deterministic. nas no longer eligible. Inherits the upstream template fix (mirus-tools \`24d2fd8\`). - \`docs/AGENT_WORKFLOW.md\` — synced from canonical \`policy/AGENT_WORKFLOW.md\` after PR #22 (option-B persona refactor) and PR #28 (other policy churn) merged on jmz/mirus-tools earlier today. The previously-wedged PR #12 had been opened to do this. ## User impact matrix-bridge's CI deterministically runs on the cc-bearing host runner. Future enrollments via \`ensure-repo-policy.py --language rust\` get the same fix automatically. ## Verification - Offline: \`forgejo-runner validate --workflow\` passes. - End-to-end: this PR's CI is the live verification. ## Related - mirus-tools PR #31 — upstream template fix (merged at \`24d2fd8\`). - Closes the gap from PR #12 (closed unmerged).
fix(ci): pin runs-on to rpi5 + sync policy doc
All checks were successful
check / check (pull_request) Successful in 6m17s
check / check (push) Successful in 4m17s
0e6606f332
Two-in-one bundle:

1. .forgejo/workflows/check.yml — `runs-on: [self-hosted, arm64, rpi5]`
   so dispatch lands on the cc-bearing host runner. The previous
   `runs-on: self-hosted` matched both rpi5 and nas; nas runs jobs in
   `node:20-bookworm-slim` (no cc), so matrix-sdk-crypto / Olm / ring
   builds failed there. PR #11's TASK-1244 succeeded only because it
   happened to land on rpi5 by chance.

2. docs/AGENT_WORKFLOW.md — synced from canonical
   /srv/mirus/AGENT_WORKFLOW.md after PR #22 (option-B refactor) +
   PR #28 changes that landed on jmz/mirus-tools earlier today.

Diagnosis from Maximus@nas's server-side Forgejo logs after my four
attempts on PR #12 all hit the same 30s server-side fail without
ever appearing in rpi5's runner journal.
Sign in to join this conversation.
No description provided.