GitHub Actions now supports ephemeral (i.e. single job) self-hosted runners and a new workflow_job
webhook to make autoscaling your runners easier. After a job is run, ephemeral runners are automatically unregistered from the service, allowing you to do any required post-job management.
Ephemeral runners are a good choice for self-managed environments where you need each job to run on a clean image. A runner is configured as ephemeral by adding the optional --ephemeral
parameter during configuration. Learn more about registering ephemeral runners.
Example ephemeral runner registration:
$ ./config.sh --url https://github.com/octo-org --token example-token --ephemeral
Combine ephemeral runners with the new workflow_job
webhook to automatically scale your self-hosted runners in response to your Actions job requests, including the runner labels from the runs-on:
key from your workflow. Learn more about the workflow_job
webhook and how to use it to autoscale your self-hosted runners.
Get started with automating the configuration of your self-hosted runners by following this automation guide in the runner repo.