-
Notifications
You must be signed in to change notification settings - Fork 5k
Create copilot-instructions.md #115917
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create copilot-instructions.md #115917
Conversation
Based on the logs: it used the instructions to build clr runtime |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request introduces a new GitHub Actions workflow step to install dependencies for building the runtime and adds the initial copilot instructions documentation for the project. The changes include:
- Adding a step in the workflow file to install required system dependencies.
- Creating a documentation file with detailed build and test instructions for dotnet/runtime.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
.github/workflows/copilot-setup-steps.yml | Added a dependency installation step using apt-get commands |
.github/copilot-instructions.md | Introduced instructions for building and testing the runtime |
Comments suppressed due to low confidence (1)
.github/copilot-instructions.md:5
- There is a typo in the word 'trailling'; it should be 'trailing'.
* Don't leave trailling whitespaces.
This is unattainable. We are nowhere near being able to build any substantial portion of the repo in 2 min. |
Cc @Chuxel for any additional thoughts |
We likely need to open the firewall too |
Re: the setup instructions - generally less is more. For example, rather than spelling out some code formatting rules, you could tell it to run a linter before submitting. We've definitely seen being explicit with the linter to use help and increase the liklihood it does it. The number of liters out there is probably less of an issue than other languages (e.g. Python has many), but we know it helps for Go too. That said, if this is giving you the results you are looking for - awesome! Really interesting to see ... also cc @shibbas both for a real-world example and any other tips.
@ellismg released an update that should resolve the time out in now - let us know if not.
The good news is we realized the public AzDO package should be open by default since it's a well-known, trusted, public source So that's resolved. You should be able to ignore |
The main goal was to teach the agent how to build and test, and how to know what to build and test. TBH at this point the reason I added the code style ones (based on ASP.NET Core's version) is just to have some additional verification these instructions are actually read. 😅 During the investigation in #115826, at some point it felt like it was using some echo of the comment #115826 (comment) rather than copilot-instructions.md I added. And as the comment grew older, I guess that comment was either left out of the context, or severely downweighted, and the agent temporarily forgot how to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
I think we can adjust as necessary. If it seems like it's struggling, we can add/remove things. The tricky thing with the runtime repo is that everyone has their own workflow because they want to build as little as possible to get to their scenario.
I ended up providing the pre-built Before, copilot was still struggling with missing bits and pieces (varying from run to run), and the occasional aggressive build timeouts (but there were cases of successful long builds, too). Successful run with the latest instructions and setup: link
I am tempted to |
/ba-g copilot infra-only change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few small suggestions. This looks pretty good. Thank you for putting together, @CarnaViire
Co-authored-by: Eric StJohn <[email protected]>
/ba-g copilot infra-only change |
Addressed all remaining nits; ready for merge. |
First iteration on the instructions.
Testing on #115826.
Despite the remaining environment limitations, the instructions themselves are working.
See e.g. https://github.com/dotnet/runtime/actions/runs/15200538664/job/42753739967#step:9:1582
Note: I've also tried adding the clr build as a setup step, but unfortunately it didn't stick 🥲