Skip to content

Conversation

@delan
Copy link
Member

@delan delan commented Dec 4, 2025

this patch adds support for requesting a cluster of multiple runners to the queue service (both tokenless and tokenful), and to the tokenless runner select endpoint in the monitor service. the tokenful endpoint in the monitor service already supported this, as part of earlier work towards running WPT on self-hosted runners (#21).

when you request multiple runners, the queue service will make you wait until that many runners are idle across all available servers, then it will reserve all of the requested runners at once. this is a bit inefficient, but it avoids complications where one runner might time out due to being reserved long before the others.

to request multiple runners for a tokenless job, add a line that reads self_hosted_runner_count=2 (or more) to your runner select artifact (see #69 for more details).

to request multiple runners for a tokenful job in the queue service, use the new POST /profile/<profile_key>/enqueue/<runner_count>?<unique_id>&<qualified_repo>&<run_id> endpoint.

to request multiple runners for a tokenful job in the monitor service, use the existing POST /profile/<profile_key>/take/<count>?<unique_id>&<qualified_repo>&<run_id> endpoint.

test runs: #21 (comment)

@delan delan requested review from jschwe and sagudev December 4, 2025 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants