This folder contains azure pipeline yml templates for "Core" and "Platform" Continuous Integration and PR validation.
Common CI templates¶
Core CI templates¶
This templates contains the jobs and most importantly the matrix of which packages and targets to run for Core CI.
This template is the main Core CI template. It controls all the steps run and is responsible for most functionality of the Core CI process. This template sets
pkg_count variable using the
stuart_pr_eval tool when the
build type is "pull request"
This template installs the node based tools used by the spell checker plugin. The steps
in this template are conditional and will only run if variable
pkg_count is greater than 0.
Platform CI templates¶
This template makes heavy use of pytools to build and run a platform in the Edk2 repo
- For a build type of pull request it will conditionally build if the patches change files that impact the platform.
stuart_pr_evalto determine impact
- For manual builds or CI builds it will always build the platform
- It compiles basetools from source
- Will use
stuart_build --FlashOnlyto attempt to run the built image if the
Runparameter is set.
- See the parameters block for expected configuration options
extra_install_stepallows the caller to insert extra steps. This is useful if additional dependencies, tools, or other things need to be installed. Here is an example of installing qemu on Windows.
steps: - template: ../../.azurepipelines/templates/build-run-steps.yml parameters: extra_install_step: - powershell: choco install qemu; Write-Host "##vso[task.prependpath]c:\Program Files\qemu" displayName: Install QEMU and Set QEMU on path # friendly name displayed in the UI condition: and(gt(variables.pkg_count, 0), succeeded())