Files
system76-edk2/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
Yi Li af8859bce2 OvmfPkg/PlatformCI: Skip GCC5_OVMF_IA32X64_FULL_NOOPT build
The effect of LTO is limited with optimization turned off, and blocked
the upgrade of Openssl3.0. We already skipped this build with VS2019,
skip the GCC NOOPT build also.

Signed-off-by: Yi Li <yi1.li@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2023-07-05 08:39:36 +00:00

208 lines
7.2 KiB
YAML

## @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)
# This currently creates a very large image which is too big for the FDF declared range,
# skip this build for now.
#
# 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)
QEMU_RISCV64_DEBUG:
Build.File: "$(package)/PlatformCI/QemuBuild.py"
Build.Arch: "RISCV64"
Build.Flags: ""
Build.Target: "DEBUG"
# this build is for RISC-V qemu virt not qemu-kvm
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