EDK II Continuous Integration Administration
Configuring edk2 repository
-
Azure Pipelines Configuration Steps Part I
- Goto https://dev.azure.com/tianocore
- Create new project in TianoCore org called
edk2-ci - Disable Boards
- Disable Repositories
-
GitHub Configuration Steps Part I
- Goto https://github.com/tianocore
- Select Settings
- Select Installed GitHub Apps
- Select Azure Pipelines -> Configure
- Enable
tianocore/edk2repository - Redirects to Azure Pipelines login. Select TianoCore org and
edk2-ciproject to complete link and authentication between Azure Pipelines TianoCore organization and GitHub TianoCore organization.
- Enable
-
Azure Pipelines Configuration Steps Part II
- Goto https://dev.azure.com/tianocore/edk2-ci/_build
- Create New Pipeline called
Ubuntu GCC5 CIfor post commit checks
- YAML: Select file
https://github.com/tianocore/edk2/blob/master/.azurepipelines/Ubuntu-GCC5.yml
* Name: Set to
Ubuntu GCC5 CI* Triggers: * CI - No changes * PR - Override + Disable * Variables: No changes * Save pipeline changes * Run pipeline and verify all checks pass 3) Create New Pipeline calledWindows VS2019 CIfor post commit checks - YAML: Select file
https://github.com/tianocore/edk2/blob/master/.azurepipelines/Windows-VS2019.yml
* Name:
Windows VS2019 CI* Triggers * CI - No changes * PR - Override + Disable * Variables: No changes * Save pipeline changes * Run pipeline and verify all checks pass 4) Create New Pipeline calledUbuntu GCC5 PRfor pre commit checks - YAML: Select file
https://github.com/tianocore/edk2/blob/master/.azurepipelines/Ubuntu-GCC5.yml
* Name:
Ubuntu GCC5 PR* Triggers * CI - Override + Disable * PR - No changes * Variables: No changes * Save pipeline changes * Run pipeline. Pipeline will fail because it requires a GitHub PR. Must run for pipeline name to show up in GitHub Branch Protection Rules. 5) Create New Pipeline calledWindows VS2019 PRfor pre commit checks - YAML: Select file
https://github.com/tianocore/edk2/blob/master/.azurepipelines/Windows-VS2019.yml
* Name:
Windows VS2019 PR* Triggers * CI - Override + Disable * PR - No changes * Variables: No changes * Save pipeline changes * Run pipeline. Pipeline will fail because it requires a GitHub PR. Must run for pipeline name to show up in GitHub Branch Protection Rules. 6) Add PatchCheck pipeline for pre commit checks - YAML: Select file
https://github.com/tianocore/edk2/blob/master/.azurepipelines/Ubuntu-PatchCheck.yml
* Name:
tianocore.PatchCheck* Triggers * CI - Override + Disable * PR - No changes * Variables: No changes * Save pipeline changes * Run pipeline. Pipeline will fail because it requires a GitHub PR. Must run for pipeline name to show up in GitHub Branch Protection Rules.
-
GitHub Configuration Steps Part II
- Goto https://github.com/tianocore/edk2
- Select Settings
- Select Branches
- Select Branch Protection Rules
- Select
master-> Edit- Enable
Require status checks to pass before merging - Enable
Require branches to be up to date before merging - Enable
Windows VS2019 PRcheck - Enable
Ubuntu GCC5 PRcheck - Enable
tianocore.PatchCheckcheck
- Enable
- Goto https://github.com/tianocore
- Select Settings
- Select Installed GitHub Apps
- Select Mergify -> Configure
- Enable tianocore/edk2 repo
-
Update Status Badge Links
- Goto https://dev.azure.com/tianocore/edk2-ci/_build
- Select
Windows VS2019 CI- Use '...' menu in upper right and select Status badge
- Copy Sample markdown
- Update links in Build Status section of
https://github.com/tianocore/edk2/blob/master/Readme.md
3) Select
Ubuntu GCC5 CI* Use '...' menu in upper right and select Status badge * Copy Sample markdown - Update links in Build Status section of https://github.com/tianocore/edk2/blob/master/Readme.md 4) Submit changes to Readme.md for EDK II code review and submit GitHub PR to test personal build and Mergify commit once review passes.