Using self-hosted GitHub Actions runners with ARC
You can use self-hosted GitHub Actions runners, powered by ARC (Actions Runner Controller), for Copilot coding agent. This allows you to run Copilot's development environment on your own infrastructure while maintaining scalability and security.
Before Copilot can use self-hosted runners, you must first set up ARC-managed scale sets in your environment. For more information, see Actions Runner Controller.
To use self-hosted runners with ARC, update the runs-on attribute in your copilot-setup-steps job to target your ARC-managed scale set:
# ...
jobs:
copilot-setup-steps:
runs-on: arc-scale-set-name
# ...
Replace arc-scale-set-name with the name of your ARC-managed scale set.
Warning
Persistent runners are not recommended for any scenarios with Copilot coding agent.
Note
- Copilot coding agent is only compatible with Ubuntu x64 Linux runners. Runners with Windows, macOS or other operating systems are not supported.
- While GitHub Actions supports multiple autoscaling approaches including just-in-time runners, ephemeral runners, and webhooks, ARC is currently the only supported autoscaling solution for self-hosting Copilot coding agent.
Disabling the repository firewall
The Copilot coding agent native firewall is not compatible with self-hosted runners. To use Copilot coding agent with self-hosted runners, you will need to disable the firewall in the repository's coding agent settings.
For more information about disabling the firewall, see Customizing or disabling the firewall for GitHub Copilot coding agent.
Warning
You should implement alternative network security controls, such as your own firewall, to protect your environment.
When implementing alternative network security controls for self-hosted Copilot coding agent, the following endpoints must be reachable from your runners:
api.githubcopilot.comuploads.github.comuser-images.githubusercontent.com