-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Build Champion
This page describes the Build Champion role. This is a weekly rotating role.
- Make sure the build is green
- Make sure it releases Insiders every day
Given build failures, make sure to pay attention to the #build Slack channel. It should notify who's likely responsible.
Insiders build is scheduled to run every weekday at 5:00 AM UTC. Check the state of the most recent scheduled build, use the steps documented here to troubleshoot the build failures, and produce a successful build. The goal is to have an Insiders build released every weekday.
Build Error | Troubleshooting Steps |
---|---|
hygiene/compilation | 1. Push a commit that fixes them and ping the responsible dev. 2. If the fix isn't trivial, bring in the related developer to come up with a fix. |
test failures/flaky test | 1. Comment out the test and create an issue for the test owner to fix. Please add one of the following labels depending on the test type: integration-test-failure , smoke-test-failure , unit-test-failure . The rule is: a flaky test is as good as a failing test. |
yarn error | 1. error Your lockfile needs to be updated, but yarn was run with --frozen-lockfile . On master, pull the latest changes. Run yarn . If there are changes to yarn.lock , review and push them. |
other | 1. Try to reason about the failure, get familiar with the build infrastructure, and attempt to fix it. 2. Reach out to the previous week's Build Champion, they might know something. 3. Reach out to João/Ladislau. Improve the Build Champion process by documenting whatever they tell you. |
💡 Note: After a fix was pushed to address the build failure, manually queue the build.
We managed to improve the Product build considerably to the point that it now runs on every push, effectively becoming our continuous build. So we dropped the old continuous build: https://dev.azure.com/vscode/VSCode
.
Additionally, we have a parallel public continuous build running on GitHub Actions, which mostly validates PRs.
All our builds run in Azure DevOps and are scripted using YAML build definition files:
Project Management
- Roadmap
- Iteration Plans
- Development Process
- Issue Tracking
- Build Champion
- Release Process
- Running the Endgame
- Related Projects
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Testing
- Dealing with Test Flakiness
- Contributor License Agreement
- Extension API Guidelines
- Accessibility Guidelines
Documentation