feat(ci): fluidpop-runner Docker compose + register script + inventory README #12
No reviewers
Labels
No labels
adr
agent:blocked-ci
agent:blocked-human
agent:blocked-resolver
agent:done
agent:in-progress
agent:no-touch
agent:pinged
agent:pr-open
agent:queued
agent:wip
area:board
area:funding
area:infra
area:phy
area:poplink
area:rtl
area:software
area:supply-chain
area:verification
ci-failed
ci-timeout
docs
do-not-merge
human-approved
needs-human-approval
needs-rebase
needs-triage
phase:1
ready-for-review
review:findings
review:pass
risk:tripwire
swarm:quarantined
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Fluid/fluidpop-v1!12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/ci-runner-setup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deploys the 4th per-repo Forgejo Actions runner on git-runner host (root@2804:710:d0:5::10), following the established pattern used by the three pop-edge-* runners.
Without this runner, all workflow jobs on Fluid/fluidpop-v1 stay in waiting state because the only instance-wide runner (pop-runner-01) does not advertise the docker label our workflows require. See ADR-016 (PR #11) for the analysis.
What this PR adds:
Already executed: the runner has been deployed and registered on git-runner; workflows on this PR should pick up and run (validate via PR status checks below).
Labels registered: docker, ubuntu-latest, self-hosted — all mapping to docker://node:20-bookworm image.
Tests: docs+shell+yaml only. CI runs shellcheck on the new script and validates the compose file. Per GitOps workflow, ready for fluidpop-bot approve+merge once CI green.
The runner fluidpop-ci-01 was up and pulling jobs, but failing because: 1. .forgejo/workflows/{build,nightly}.yml had per-job container.image pointing at hseeberger/scala-sbt and koalaman/shellcheck-alpine. Both lack node binary, which actions/checkout@v4 requires. Result: 'OCI runtime exec failed: exec: node: executable file not found'. Fix: remove container.image; jobs run in runner default image (node:20-bookworm). The else-echo fallback branches succeed there. shell-lint now apt-get installs shellcheck in the default image. Per-job containers return when build.sbt + scala-sbt image with node land in Phase 1 RTL setup. 2. infra/ci/fluidpop-runner-compose.yml: subnet 172.30.12.0/24 conflicts with pop-edge-live-runner's existing network. Moved to 172.30.14.0/24 (next free after .11 pop-edge-pr, .12 pop-edge-live, .13 pop-edge-apply). 3. infra/ci/register-fluidpop-runner.sh: two API fixes: - scp choked on IPv6 :: parsing; switched to ssh+cat redirect. - Repo runner endpoints in Forgejo 14.0 require /actions/ prefix: /repos/{o}/{r}/actions/runners/registration-token (was missing /actions/). Same for list endpoint /actions/runners with .entries[].CI green on
673a048(workflow runs 749-754 all success); approving per GitOps loop