123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- ## @file
- # Azure Pipeline build file for building a platform.
- #
- # Platform: OVMF
- # OS: Ubuntu
- # Toolchain: GCC5
- #
- # Copyright (c) Microsoft Corporation.
- # SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- trigger:
- - master
- - stable/*
- pr:
- - master
- - stable/*
- variables:
- - template: ../../../.azurepipelines/templates/defaults.yml
- jobs:
- - job: Platform_CI
- variables:
- package: 'OvmfPkg'
- vm_image: 'ubuntu-22.04'
- should_run: true
- run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
- #Use matrix to speed up the build process
- strategy:
- matrix:
- OVMF_IA32_DEBUG:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32"
- Build.Flags: ""
- Build.Target: "DEBUG"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32_RELEASE:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32"
- Build.Flags: ""
- Build.Target: "RELEASE"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32_NOOPT:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32"
- Build.Flags: ""
- Build.Target: "NOOPT"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_X64_RELEASE:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "RELEASE"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_X64_NOOPT:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "NOOPT"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32X64_DEBUG:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32,X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32X64_RELEASE:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32,X64"
- Build.Flags: ""
- Build.Target: "RELEASE"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32X64_NOOPT:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32,X64"
- Build.Flags: ""
- Build.Target: "NOOPT"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32X64_FULL_DEBUG:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32,X64"
- Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
- Build.Target: "DEBUG"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32X64_FULL_RELEASE:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32,X64"
- Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
- Build.Target: "RELEASE"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- OVMF_IA32X64_FULL_NOOPT:
- Build.File: "$(package)/PlatformCI/PlatformBuild.py"
- Build.Arch: "IA32,X64"
- Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
- Build.Target: "NOOPT"
- Run.Flags: $(run_flags)
- Run: $(should_run)
- AMDSEV_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/AmdSevBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- # restricted + stripped down build
- # can't boot to uefi shell -> skip test
- Run.Flags: "QEMU_SKIP=TRUE"
- Run: $(should_run)
- BHYVE_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/BhyveBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- # this build is for freebsd bhyve not qemu-kvm
- Run.Flags: "QEMU_SKIP=TRUE"
- Run: $(should_run)
- CLOUDHV_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/CloudHvBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- # this build is for cloud-hypervisor not qemu-kvm
- Run.Flags: "QEMU_SKIP=TRUE"
- Run: $(should_run)
- MICROVM_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- # no storage supported by microvm build
- # can't boot to uefi shell -> skip test
- Run.Flags: "QEMU_SKIP=TRUE"
- Run: $(should_run)
- OVMF_XEN_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/XenBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- # this build is for xen not qemu-kvm
- Run.Flags: "QEMU_SKIP=TRUE"
- Run: $(should_run)
- INTELTDX_X64_DEBUG:
- Build.File: "$(package)/PlatformCI/IntelTdxBuild.py"
- Build.Arch: "X64"
- Build.Flags: ""
- Build.Target: "DEBUG"
- # no storage supported by microvm build
- # can't boot to uefi shell -> skip test
- Run.Flags: "QEMU_SKIP=TRUE"
- Run: $(should_run)
- workspace:
- clean: all
- pool:
- vmImage: $(vm_image)
- container: ${{ variables.default_linux_image }}
- steps:
- - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
- parameters:
- tool_chain_tag: GCC5
- build_pkg: $(package)
- build_target: $(Build.Target)
- build_arch: $(Build.Arch)
- build_file: $(Build.File)
- build_flags: $(Build.Flags)
- run_flags: $(Run.Flags)
- usePythonVersion: '' # use Python from the container image
|