1
0
mirror of synced 2025-12-19 18:10:59 -05:00

Document self-hosted runners setup with ARC (#57721)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
This commit is contained in:
Steve-Glass
2025-10-28 13:42:46 -04:00
committed by GitHub
parent c1ca049106
commit ccd5d440c1

View File

@@ -140,6 +140,50 @@ jobs:
> * {% data variables.copilot.copilot_coding_agent %} is only compatible with Ubuntu x64 Linux runners. Runners with Windows, macOS or other operating systems are not supported.
> * Self-hosted {% data variables.product.prodname_actions %} runners are not supported.
## Using self-hosted {% data variables.product.prodname_actions %} runners with ARC
You can use self-hosted {% data variables.product.prodname_actions %} runners to support {% data variables.copilot.copilot_coding_agent %} using ARC (Actions Runner Controller). This allows you to run {% data variables.product.prodname_copilot_short %}'s development environment on your own infrastructure.
Before {% data variables.product.prodname_copilot_short %} can use self-hosted runners, you must first set up ARC-managed scale sets in your environment. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-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:
```yaml
# ...
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 autoscaling scenarios with {% data variables.copilot.copilot_coding_agent %}.
> [!NOTE]
> * ARC is the only officially supported solution for self-hosting {% data variables.copilot.copilot_coding_agent %}.
> * {% data variables.copilot.copilot_coding_agent %} is only compatible with Ubuntu x64 Linux runners. Runners with Windows, macOS or other operating systems are not supported.
> * For more information about ARC, see [AUTOTITLE](/actions/concepts/runners/actions-runner-controller).
### Repository firewall requirements
To enable communication between {% data variables.copilot.copilot_coding_agent %} and your self-hosted runners, you must disable the repository firewall in the coding agent's repository settings. Without this change, runners will not be able to connect to {% data variables.product.prodname_copilot_short %}.
For more information about disabling the firewall, see [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
> [!WARNING]
> Disabling the firewall reduces isolation between {% data variables.product.prodname_copilot_short %} and your self-hosted environment. You must implement alternative network security controls to protect your environment.
### Security considerations for self-hosted runners
When using self-hosted runners, especially with the firewall disabled, ensure your hosting environment has strict network communication controls. The following endpoints must be reachable from your runners:
* `api.githubcopilot.com`
* `uploads.github.com`
* `user-images.githubusercontent.com`
## Enabling Git Large File Storage (LFS)
If you use Git Large File Storage (LFS) to store large files in your repository, you will need to customize {% data variables.product.prodname_copilot_short %}'s environment to install Git LFS and fetch LFS objects.