This folder contains azure pipeline yml templates for "Core" and "Platform" Continuous Integration and PR validation.
This template compiles the Edk2 basetools from source. The steps in this template are
conditional and will only run if variable pkg_count is greater than 0.
It also has two conditional steps only used when the toolchain contains GCC. These two steps
use apt to update the system packages and add those necessary for Edk2 builds.
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
the 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.
This template makes heavy use of pytools to build and run a platform in the Edk2 repo
Also uses basetools-build-steps.yml to compile basetools
stuart_pr_eval to determine impactstuart_build --FlashOnly to attempt to run the built image if the Run parameter is set.Parameter extra_install_step allows 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())