]> git.proxmox.com Git - mirror_edk2.git/blob - EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
EmulatorPkg: Add Platform CI and configuration for Core CI
[mirror_edk2.git] / EmulatorPkg / PlatformCI / .azurepipelines / Ubuntu-GCC5.yml
1 ## @file
2 # Azure Pipeline build file for building a platform.
3 #
4 # Platform: EmulatorPkg
5 # OS: Ubuntu
6 # Toolchain: GCC5
7 #
8 # Copyright (c) Microsoft Corporation.
9 # SPDX-License-Identifier: BSD-2-Clause-Patent
10 ##
11 trigger:
12 - master
13 pr:
14 - master
15 jobs:
16 - job: Platform_CI
17 variables:
18 package: 'EmulatorPkg'
19 vm_image: 'ubuntu-latest'
20 should_run: false
21 run_flags: "MAKE_STARTUP_NSH=TRUE"
22
23 #Use matrix to speed up the build process
24 strategy:
25 matrix:
26 EmulatorPkg_X64_DEBUG:
27 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
28 Build.Arch: "X64"
29 Build.Flags: ""
30 Build.Target: "DEBUG"
31 Run.Flags: $(run_flags)
32 Run: $(should_run)
33 EmulatorPkg_X64_RELEASE:
34 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
35 Build.Arch: "X64"
36 Build.Flags: ""
37 Build.Target: "RELEASE"
38 Run.Flags: $(run_flags)
39 Run: $(should_run)
40 EmulatorPkg_X64_NOOPT:
41 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
42 Build.Arch: "X64"
43 Build.Flags: ""
44 Build.Target: "NOOPT"
45 Run.Flags: $(run_flags)
46 Run: $(should_run)
47 EmulatorPkg_IA32_DEBUG:
48 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
49 Build.Arch: "IA32"
50 Build.Flags: ""
51 Build.Target: "DEBUG"
52 Run.Flags: $(run_flags)
53 Run: $(should_run)
54 EmulatorPkg_IA32_RELEASE:
55 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
56 Build.Arch: "IA32"
57 Build.Flags: ""
58 Build.Target: "RELEASE"
59 Run.Flags: $(run_flags)
60 Run: $(should_run)
61 EmulatorPkg_IA32_NOOPT:
62 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
63 Build.Arch: "IA32"
64 Build.Flags: ""
65 Build.Target: "NOOPT"
66 Run.Flags: $(run_flags)
67 Run: $(should_run)
68
69 workspace:
70 clean: all
71
72 pool:
73 vmImage: $(vm_image)
74
75 steps:
76 - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
77 parameters:
78 tool_chain_tag: GCC5
79 build_pkg: $(package)
80 build_target: $(Build.Target)
81 build_arch: $(Build.Arch)
82 build_file: $(Build.File)
83 build_flags: $(Build.Flags)
84 run_flags: $(Run.Flags)
85 # Add steps to install some IA32 only dependencies
86 extra_install_step:
87 - bash: sudo dpkg --add-architecture i386
88 displayName: Add i386 to dpkg
89 condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded())
90 - bash: sudo apt-get update
91 displayName: do apt-get update
92 condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded())
93 - bash: sudo apt-get install libc6-dev:i386 libx11-dev:i386 libxext-dev:i386 lib32gcc-7-dev
94 displayName: Add additional i386 packages
95 condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded())