Support test splitting on self-hosted runners
Although the parallelism feature does work on self-hosted runners, the downloading of previous test results is not currently supported - which means that the intelligent test splitting feature does not work. In addition, the standard circleci test split invocation of test splitting requires the circleci CLI or the circleci-agent binary to be available.
Support add_ssh_key on self-hosted runners
To reach parity with existing non-runner jobs, the add_ssh_key ( https://circleci.com/docs/2.0/configuration-reference/#add_ssh_keys ) step should be supported. This will allow use of additional configured keys for pushing tags and generated-commits. The key should be added in a way that remains scoped to the runner job - and not globally on the hosting machine.
Support Rerun with SSH on self-hosted runners
Enable use of the Rerun-with-ssh feature on runner jobs. This would make it easier for non-admin users to debug issues, and bring it in-line with non-runner jobs.
Support auto-scaling for self-hosted runners
Automatic scaling to handle changing workloads - AWS ASGs, Kubernetes, etc.
Support Windows on self-hosted runners
Currently self-hosted runners only available for Ubuntu arm/x86 and macOS x86. Would like self-hosted runners on Windows
Native Kubernetes installation for runner
Potentially provide Helm charts, manifests, etc., to quickly and easily spin up runners.
Ability to restrict runner usage
Would like the ability to restrict who can use certain runners in an org, similar to how we can restrict who has access to contexts.
API endpoint to specifically fetch runner jobs
Right now, the process of filtering for jobs requesting runners is extremely painful: at least 3-4 API calls to fetch the pipelines, then the workflow(s) in the pipeline, then the job(s) in the workflow, and then finally a manual scan for a specific runner resource class. I should be able to make a single API call and get all jobs that are requesting a runner resource (or any resource, really)