fix: remote-backend scale-up relies on workflow_job webhooks, which Forgejo never sends #56
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
The webhook receiver's scale-up path (
internal/webhook/receiver.go) waits forworkflow_jobevents with actionqueued, then annotates matching pools withrequested-replicas, which the remote backend reads to scale up fromminReplicas.Forgejo never sends
workflow_jobevents. Checked against Forgejo 16 source: the only Actions webhook events areaction_run_success,action_run_failureandaction_run_recover(modules/webhook/type.go), all fired when a run finishes. The receiver was modeled on GitHub/Gitea. So remote-backend pools never scale aboveminReplicas, and thecompletedpath never fires either.Proposal: move the remote backend onto the same mechanism Kubernetes ephemeral pools use (#30): poll
GET …/actions/runners/jobs?labels=…in the pool's scope for waiting jobs, and scale on those. Then retire theworkflow_jobreceiver, or repurpose it to trigger an immediate reconcile onaction_run_*events if that turns out to be useful.Found while designing ephemeral mode for #30.
🤖 Generated with Claude Code