2020-04-19 10:04:11 +02:00
|
|
|
## @file
|
|
|
|
# Azure Pipeline build file for building a platform.
|
|
|
|
#
|
|
|
|
# Platform: ArmVirtQemu
|
|
|
|
# OS: Ubuntu
|
|
|
|
# Toolchain: GCC5
|
|
|
|
#
|
|
|
|
# Copyright (c) Microsoft Corporation.
|
|
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
##
|
|
|
|
trigger:
|
|
|
|
- master
|
2020-12-19 03:17:35 +01:00
|
|
|
- stable/*
|
2020-04-19 10:04:11 +02:00
|
|
|
pr:
|
|
|
|
- master
|
2020-12-19 03:17:35 +01:00
|
|
|
- stable/*
|
2020-04-19 10:04:11 +02:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
- job: Platform_CI
|
|
|
|
variables:
|
|
|
|
package: 'ArmVirtPkg'
|
ArmVirtPkg/PlatformCI: stick with "ubuntu-18.04" for now
"vm_image: 'ubuntu-latest'" now refers to Ubuntu Focal (20.04LTS), not
Ubuntu Bionic (18.04LTS), according to
<https://github.com/actions/virtual-environments/issues/1816>.
In Focal, the "qemu" package is a dummy package with no dependencies, and
so the actual emulators are not pulled in. Compare:
https://packages.ubuntu.com/bionic/qemu
https://packages.ubuntu.com/focal/qemu
This causes CI runs to fail.
It would be best to switch to the "qemu-system" package name, which
continues to depend on the emulators:
https://packages.ubuntu.com/bionic/qemu-system
https://packages.ubuntu.com/focal/qemu-system
However, while that package does make the emulators available, the
emulators crash. So for now, stick with the previous Ubuntu environment,
which continues to be supported, per
<https://github.com/actions/virtual-environments/issues/1816>.
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20201217204049.26817-2-lersek@redhat.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
2020-12-17 21:40:48 +01:00
|
|
|
vm_image: 'ubuntu-18.04'
|
2020-04-19 10:04:11 +02:00
|
|
|
should_run: true
|
|
|
|
run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
|
|
|
|
|
|
|
|
#Use matrix to speed up the build process
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
QEMU_AARCH64_DEBUG:
|
|
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
|
|
Build.Arch: "AARCH64"
|
|
|
|
Build.Flags: ""
|
|
|
|
Build.Target: "DEBUG"
|
|
|
|
Run.Flags: $(run_flags)
|
|
|
|
Run: $(should_run)
|
|
|
|
QEMU_AARCH64_RELEASE:
|
|
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
|
|
Build.Arch: "AARCH64"
|
|
|
|
Build.Flags: ""
|
|
|
|
Build.Target: "RELEASE"
|
|
|
|
Run.Flags: $(run_flags)
|
|
|
|
Run: $(should_run)
|
|
|
|
QEMU_AARCH64_NOOPT:
|
|
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
|
|
Build.Arch: "AARCH64"
|
|
|
|
Build.Flags: ""
|
|
|
|
Build.Target: "NOOPT"
|
|
|
|
Run.Flags: $(run_flags)
|
|
|
|
Run: $(should_run)
|
|
|
|
QEMU_ARM_DEBUG:
|
|
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
|
|
Build.Arch: "ARM"
|
|
|
|
Build.Flags: ""
|
|
|
|
Build.Target: "DEBUG"
|
|
|
|
Run.Flags: $(run_flags)
|
|
|
|
Run: $(should_run)
|
|
|
|
QEMU_ARM_RELEASE:
|
|
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
|
|
Build.Arch: "ARM"
|
|
|
|
Build.Flags: ""
|
|
|
|
Build.Target: "RELEASE"
|
|
|
|
Run.Flags: $(run_flags)
|
|
|
|
Run: $(should_run)
|
|
|
|
QEMU_ARM_NOOPT:
|
|
|
|
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
|
|
|
|
Build.Arch: "ARM"
|
|
|
|
Build.Flags: ""
|
|
|
|
Build.Target: "NOOPT"
|
|
|
|
Run.Flags: $(run_flags)
|
|
|
|
Run: $(should_run)
|
|
|
|
|
|
|
|
workspace:
|
|
|
|
clean: all
|
|
|
|
|
|
|
|
pool:
|
|
|
|
vmImage: $(vm_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)
|
|
|
|
extra_install_step:
|
|
|
|
- bash: sudo apt-get install qemu
|
|
|
|
displayName: Install qemu
|
|
|
|
condition: and(gt(variables.pkg_count, 0), succeeded())
|