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.