]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
OvmfPkg: Add Platform CI and configuration for Core CI
[mirror_edk2.git] / OvmfPkg / PlatformCI / .azurepipelines / Windows-VS2019.yml
1 ## @file
2 # Azure Pipeline build file for building a platform.
3 #
4 # Platform: OVMF
5 # OS: Windows
6 # Toolchain: VS2019
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: 'OvmfPkg'
19 vm_image: 'windows-latest'
20 should_run: true
21 run_flags: "MAKE_STARTUP_NSH=TRUE QEMU_HEADLESS=TRUE"
22
23 #Use matrix to speed up the build process
24 strategy:
25 matrix:
26 OVMF_IA32_DEBUG:
27 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
28 Build.Arch: "IA32"
29 Build.Flags: ""
30 Build.Target: "DEBUG"
31 Run.Flags: $(run_flags)
32 Run: $(should_run)
33 OVMF_IA32_RELEASE:
34 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
35 Build.Arch: "IA32"
36 Build.Flags: ""
37 Build.Target: "RELEASE"
38 Run.Flags: $(run_flags)
39 Run: $(should_run)
40 OVMF_IA32_NOOPT:
41 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
42 Build.Arch: "IA32"
43 Build.Flags: ""
44 Build.Target: "NOOPT"
45 Run.Flags: $(run_flags)
46 Run: $(should_run)
47
48 OVMF_X64_DEBUG:
49 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
50 Build.Arch: "X64"
51 Build.Flags: ""
52 Build.Target: "DEBUG"
53 Run.Flags: $(run_flags)
54 Run: $(should_run)
55 OVMF_X64_RELEASE:
56 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
57 Build.Arch: "X64"
58 Build.Flags: ""
59 Build.Target: "RELEASE"
60 Run.Flags: $(run_flags)
61 Run: $(should_run)
62 OVMF_X64_NOOPT:
63 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
64 Build.Arch: "X64"
65 Build.Flags: ""
66 Build.Target: "NOOPT"
67 Run.Flags: $(run_flags)
68 Run: $(should_run)
69
70 OVMF_IA32X64_DEBUG:
71 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
72 Build.Arch: "IA32,X64"
73 Build.Flags: ""
74 Build.Target: "DEBUG"
75 Run.Flags: $(run_flags)
76 Run: $(should_run)
77 OVMF_IA32X64_RELEASE:
78 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
79 Build.Arch: "IA32,X64"
80 Build.Flags: ""
81 Build.Target: "RELEASE"
82 Run.Flags: $(run_flags)
83 Run: $(should_run)
84 OVMF_IA32X64_NOOPT:
85 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
86 Build.Arch: "IA32,X64"
87 Build.Flags: ""
88 Build.Target: "NOOPT"
89 Run.Flags: $(run_flags)
90 Run: $(should_run)
91
92 OVMF_IA32X64_FULL_DEBUG:
93 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
94 Build.Arch: "IA32,X64"
95 Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
96 Build.Target: "DEBUG"
97 Run.Flags: $(run_flags)
98 Run: $(should_run)
99 OVMF_IA32X64_FULL_RELEASE:
100 Build.File: "$(package)/PlatformCI/PlatformBuild.py"
101 Build.Arch: "IA32,X64"
102 Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
103 Build.Target: "RELEASE"
104 Run.Flags: $(run_flags)
105 Run: $(should_run)
106
107 # This currently creates a very large image which is too big for the FDF declared range
108 # Ovmf maintainers suggest to skip this build for now.
109 #
110 # OVMF_IA32X64_FULL_NOOPT:
111 # Build.File: "$(package)/PlatformCI/PlatformBuild.py"
112 # Build.Arch: "IA32,X64"
113 # Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
114 # Build.Target: "NOOPT"
115 # Run.Flags: $(run_flags)
116 # Run: $(should_run)
117
118 workspace:
119 clean: all
120
121 pool:
122 vmImage: $(vm_image)
123
124 steps:
125 - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
126 parameters:
127 tool_chain_tag: VS2019
128 build_pkg: $(package)
129 build_target: $(Build.Target)
130 build_arch: $(Build.Arch)
131 build_file: $(Build.File)
132 build_flags: $(Build.Flags)
133 run_flags: $(Run.Flags)
134 extra_install_step:
135 - powershell: choco install qemu; Write-Host "##vso[task.prependpath]c:\Program Files\qemu"
136 displayName: Install QEMU and Set QEMU on path # friendly name displayed in the UI
137 condition: and(gt(variables.pkg_count, 0), succeeded())
138