Skip to content

Conversation

@delan
Copy link
Member

@delan delan commented Dec 8, 2025

since the beginning of our CI system, even before the monitor had an API (servo/servo#33315), we’ve reserved runners by adding labels to those runners in the GitHub API. this is slow and sometimes fragile, and it will not work on Forgejo Actions (#94), where labels are defined at registration time and redefined when starting the runner.

this patch makes the monitor store reservations internally. we also rework how we label runners such that runners are uniquely identifiable at registration time, rather than only at reservation time:

  • self-hosted is unchanged
  • X64 is removed, since it was unused and contradicts UTM-based servo-macos15-arm profile #64
  • self-hosted-image:<profile> is now self-hosted-profile:<profile> and computed automatically
  • self-hosted-runner:<name>@<host> is new, and uniquely identifies the runner
  • self-hosted-uuid:<runner uuid> is new, and uniquely identifies the runner

when the runner-select action successfully reserves a runner, we set runs-on to self-hosted-uuid:<runner uuid>, rather than reserved-for:<job unique id>.

test runs:

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