Skip to content

Commit 635072c

Browse files
Improve "Customizing the development environment for Copilot coding agent" article for Copilot coding agent (#55984)
Co-authored-by: mc <[email protected]>
1 parent 95b5a9a commit 635072c

File tree

1 file changed

+39
-8
lines changed

1 file changed

+39
-8
lines changed

content/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ redirect_from:
2020

2121
While working on a task, {% data variables.product.prodname_copilot_short %} has access to its own ephemeral development environment, powered by {% data variables.product.prodname_actions %}, where it can explore your code, make changes, execute automated tests and linters and more.
2222

23-
You can customize {% data variables.product.prodname_copilot_short %}'s environment by:
23+
You can customize {% data variables.product.prodname_copilot_short %}'s environment to:
2424

25-
* [Preinstalling tools or dependencies in {% data variables.product.prodname_copilot_short %}'s environment](#preinstalling-tools-or-dependencies-in-copilots-environment).
26-
* [Upgrading from standard {% data variables.product.prodname_dotcom %}-hosted {% data variables.product.prodname_actions %} runners to larger runners](#upgrading-to-larger-github-hosted-github-actions-runners).
27-
* [Disabling or customizing the agent's firewall](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
25+
* [Preinstall tools or dependencies in {% data variables.product.prodname_copilot_short %}'s environment](#preinstalling-tools-or-dependencies-in-copilots-environment).
26+
* [Upgrade from standard {% data variables.product.github %}-hosted {% data variables.product.prodname_actions %} runners to larger runners](#upgrading-to-larger-github-hosted-github-actions-runners).
27+
* [Enable Git Large File Storage (LFS)](#enabling-git-large-file-storage-lfs)
28+
* [Disable or customize the agent's firewall](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
2829

2930
## Preinstalling tools or dependencies in {% data variables.product.prodname_copilot_short %}'s environment
3031

@@ -41,8 +42,16 @@ Here is a simple example of a `copilot-setup-steps.yml` file for a TypeScript pr
4142
```yaml copy
4243
name: "Copilot Setup Steps"
4344

44-
# Allow testing of the setup steps from your repository's "Actions" tab.
45-
on: workflow_dispatch
45+
# Automatically run the setup steps when they are changed to allow for easy validation, and
46+
# allow manual testing through the repository's "Actions" tab
47+
on:
48+
workflow_dispatch:
49+
push:
50+
paths:
51+
- .github/workflows/copilot-setup-steps.yml
52+
pull_request:
53+
paths:
54+
- .github/workflows/copilot-setup-steps.yml
4655

4756
jobs:
4857
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
@@ -83,7 +92,9 @@ In your `copilot-setup-steps.yml` file, you can only customize the following set
8392

8493
For more information on these options, see [AUTOTITLE](/actions/writing-workflows/workflow-syntax-for-github-actions#jobs).
8594

86-
Once you have created a `copilot-setup-steps.yml` file and merged it into your default branch, you can manually run the workflow from the repository's **Actions** tab to check that it works. For more information, see [AUTOTITLE](/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow).
95+
Your `copilot-setup-steps.yml` file will automatically be run as a normal {% data variables.product.prodname_actions %} workflow when changes are made, so you can see if it runs successfully. This will show alongside other checks in a pull request where you create or modify the file.
96+
97+
Once you have merged the yml file into your default branch, you can manually run the workflow from the repository's **Actions** tab at any time to check that everything works as expected. For more information, see [AUTOTITLE](/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow).
8798

8899
## Upgrading to larger {% data variables.product.prodname_dotcom %}-hosted {% data variables.product.prodname_actions %} runners
89100

@@ -105,9 +116,29 @@ jobs:
105116
```
106117

107118
> [!NOTE]
108-
> * {% data variables.copilot.copilot_coding_agent %} is only compatible with Ubuntu x86 Linux runners. Runners with Windows, macOS or other operating systems are not supported.
119+
> * {% 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.
109120
> * Self-hosted {% data variables.product.prodname_actions %} runners are not supported.
110121

122+
## Enabling Git Large File Storage (LFS)
123+
124+
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.
125+
126+
To enable Git LFS, add a `actions/checkout` step to your `copilot-setup-steps` job with the `lfs` option set to `true`.
127+
128+
```yaml copy
129+
# ...
130+
131+
jobs:
132+
copilot-setup-steps:
133+
runs-on: ubuntu-latest
134+
permissions:
135+
contents: read # for actions/checkout
136+
steps:
137+
- uses: {% data reusables.actions.action-checkout %}
138+
with:
139+
lfs: true
140+
```
141+
111142
## Further reading
112143

113144
* [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent)

0 commit comments

Comments
 (0)