diff --git a/.azurepipelines/Matrix-Build-Job-Clang.yml b/.azurepipelines/Matrix-Build-Job-Clang.yml deleted file mode 100644 index f04dc113900..00000000000 --- a/.azurepipelines/Matrix-Build-Job-Clang.yml +++ /dev/null @@ -1,82 +0,0 @@ -## @file -# Template file for generating a CLANGPDB build job matrix for the packages currently supported for -# build in Mu Basecore. -# -# Copyright (c) Microsoft Corporation. -# Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.
-# SPDX-License-Identifier: BSD-2-Clause-Patent -## - -parameters: -- name: arch_list - displayName: Architectures (e.g. IA32, X64) - type: string - default: '' -- name: extra_build_args - displayName: Extra Build Command Arguments - type: string - default: '' -- name: extra_install_step - displayName: Extra Install Steps - type: stepList - default: - - script: echo No extra steps provided -- name: tool_chain_tag - displayName: Tool Chain (e.g. VS2022) - type: string - default: '' -- name: vm_image - displayName: Virtual Machine Image (e.g. windows-latest) - type: string - default: 'windows-latest' - -jobs: - -- job: Build - timeoutInMinutes: 120 - # Use matrix to speed up the build process - strategy: - matrix: - TARGET_MDE_CPU: - Build.Pkgs: 'MdePkg,UefiCpuPkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_MDEMODULE_DEBUG: - Build.Pkgs: 'MdeModulePkg' - Build.Targets: 'DEBUG,NOOPT' - TARGET_MDEMODULE_RELEASE: - Build.Pkgs: 'MdeModulePkg' - Build.Targets: 'RELEASE,NO-TARGET' - TARGET_NETWORK: - Build.Pkgs: 'NetworkPkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_OTHER: - Build.Pkgs: 'PcAtChipsetPkg,ShellPkg,StandaloneMmPkg,BaseTools' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_TEST_POLICY: - Build.Pkgs: 'UnitTestFrameworkPkg,PolicyServicePkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_CRYPTO: - Build.Pkgs: 'CryptoPkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - - workspace: - clean: all - - pool: - vmImage: ${{ parameters.vm_image }} - - steps: - - template: Steps/PrGate.yml@mu_devops - parameters: - artifacts_identifier: '$(Build.Pkgs) $(Build.Targets)' - build_archs: ${{ parameters.arch_list }} - build_pkgs: $(Build.Pkgs) - build_targets: $(Build.Targets) - do_ci_build: true - do_ci_setup: false - do_non_ci_build: false - do_non_ci_setup: true - do_pr_eval: true - extra_build_args: ${{ parameters.extra_build_args }} - extra_install_step: ${{ parameters.extra_install_step }} - tool_chain_tag: ${{ parameters.tool_chain_tag }} diff --git a/.azurepipelines/Matrix-Build-Job.yml b/.azurepipelines/Matrix-Build-Job.yml deleted file mode 100644 index ece4233094b..00000000000 --- a/.azurepipelines/Matrix-Build-Job.yml +++ /dev/null @@ -1,107 +0,0 @@ -## @file -# Template file for generating a build job matrix for the packages currently supported for -# build in Mu Basecore. -# -# Copyright (c) Microsoft Corporation. -# Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.
-# SPDX-License-Identifier: BSD-2-Clause-Patent -## - -parameters: -- name: arch_list - displayName: Architectures (e.g. IA32, X64) - type: string - default: '' -- name: extra_build_args - displayName: Extra Build Command Arguments - type: string - default: '' -- name: extra_install_step - displayName: Extra Install Steps - type: stepList - default: - - script: echo No extra steps provided -- name: tool_chain_tag - displayName: Tool Chain (e.g. VS2022) - type: string - default: '' -- name: vm_image - displayName: Virtual Machine Image (e.g. windows-latest) - type: string - default: 'windows-latest' -- name: container_image - displayName: Container Image - type: string - default: '' - -jobs: - -- job: Build - timeoutInMinutes: 120 - # Use matrix to speed up the build process - strategy: - matrix: - TARGET_MDE_CPU: - Build.Pkgs: 'MdePkg,UefiCpuPkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_MDEMODULE_DEBUG: - Build.Pkgs: 'MdeModulePkg' - Build.Targets: 'DEBUG,NOOPT' - TARGET_MDEMODULE_RELEASE: - Build.Pkgs: 'MdeModulePkg' - Build.Targets: 'RELEASE,NO-TARGET' - TARGET_NETWORK: - Build.Pkgs: 'NetworkPkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_OTHER: - Build.Pkgs: 'PcAtChipsetPkg,ShellPkg,StandaloneMmPkg,BaseTools' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_TEST_POLICY: - Build.Pkgs: 'UnitTestFrameworkPkg,PolicyServicePkg' - Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' - TARGET_CRYPTO_DEBUG: - Build.Pkgs: 'CryptoPkg' - Build.Targets: 'DEBUG,NOOPT' - TARGET_CRYPTO_RELEASE: - Build.Pkgs: 'CryptoPkg' - Build.Targets: 'RELEASE,NO-TARGET' - - workspace: - clean: all - - ${{ if ne(parameters.container_image, '') }}: - container: ${{ parameters.container_image }} - - pool: - vmImage: ${{ parameters.vm_image }} - - steps: - - ${{ if and(ne(parameters.container_image, ''), not(contains(parameters.vm_image, 'windows'))) }}: - - script: echo "##vso[task.prependpath]/home/vsts_azpcontainer/.local/bin" - displayName: Add User Local Bin to Path - - template: Steps/PrGate.yml@mu_devops - parameters: - artifacts_identifier: '$(Build.Pkgs) $(Build.Targets)' - build_archs: ${{ parameters.arch_list }} - build_pkgs: $(Build.Pkgs) - build_targets: $(Build.Targets) - do_ci_build: true - do_ci_setup: false - do_non_ci_build: false - do_non_ci_setup: true - do_pr_eval: true - extra_build_args: ${{ parameters.extra_build_args }} - extra_install_step: ${{ parameters.extra_install_step }} - tool_chain_tag: ${{ parameters.tool_chain_tag }} - install_tools: ${{ eq(parameters.container_image, '') }} - -- job: PublishCoverage - dependsOn: Build - workspace: - clean: all - - pool: - vmImage: 'windows-latest' - - steps: - - template: Steps/PublishCodeCoverage.yml@mu_devops diff --git a/.azurepipelines/Ubuntu-CLANGPDB.yml b/.azurepipelines/Ubuntu-CLANGPDB.yml deleted file mode 100644 index 27518a34f27..00000000000 --- a/.azurepipelines/Ubuntu-CLANGPDB.yml +++ /dev/null @@ -1,38 +0,0 @@ -## @file -# Azure Pipeline build file for a build using Ubuntu and CLANGPDB. -# -# IMPORTANT: This file requires the local repo to contain a .azurepipelines/Matrix-Build-Job-Clang.yml file that -# performs the actual build steps for the configurations and packages supported by the repo. -# -# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there -# instead of the file in this repo. -# -# - Mu DevOps Repo: https://github.com/microsoft/mu_devops -# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml -# -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: BSD-2-Clause-Patent -## - -resources: - repositories: - - repository: mu_devops - type: github - endpoint: microsoft - name: microsoft/mu_devops - ref: refs/tags/v3.0.0 - -variables: -- group: architectures-x86-64 -- group: tool-chain-clangpdb -- group: tool-chain-clangpdb-ubuntu-vm-image - -jobs: -- template: Matrix-Build-Job-Clang.yml - parameters: - arch_list: $(arch_list) - extra_steps: - - script: sudo apt-get install mingw-w64 - displayName: Install Windows Resource Compiler for Linux - tool_chain_tag: $(tool_chain_tag) - vm_image: $(vm_image) diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml index b83172330e5..ddceb8ae0d5 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -14,26 +14,81 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent ## -resources: - repositories: - - repository: mu_devops - type: github - endpoint: microsoft - name: microsoft/mu_devops - ref: refs/tags/v3.0.0 - containers: - - container: linux-gcc - image: ghcr.io/microsoft/mu_devops/ubuntu-22-build:4a1f8d3 - variables: - group: architectures-arm-64-x86-64 - group: tool-chain-ubuntu-gcc -jobs: -- template: Matrix-Build-Job.yml +extends: + template: MuDevOpsWrapper.yml parameters: - arch_list: $(arch_list) - extra_build_args: CODE_COVERAGE=TRUE - tool_chain_tag: 'GCC5' - vm_image: $(vm_image) - container_image: linux-gcc + do_ci_build: true + do_ci_setup: false + do_non_ci_build: false + do_non_ci_setup: true + do_pr_eval: true + container_build: true + os_type: Linux + build_matrix: + TARGET_MDE_CPU: + Pkgs: 'MdePkg,UefiCpuPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_MDEMODULE_DEBUG: + Pkgs: 'MdeModulePkg' + Targets: 'DEBUG,NOOPT' + ArchList: $(arch_list) + TARGET_MDEMODULE_RELEASE: + Pkgs: 'MdeModulePkg' + Targets: 'RELEASE,NO-TARGET' + ArchList: $(arch_list) + TARGET_NETWORK: + Pkgs: 'NetworkPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_OTHER: + Pkgs: 'PcAtChipsetPkg,ShellPkg,StandaloneMmPkg,BaseTools' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_TEST_POLICY: + Pkgs: 'UnitTestFrameworkPkg,PolicyServicePkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_CRYPTO: + Pkgs: 'CryptoPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_MDE_CPU_ARM: + Pkgs: 'MdePkg,UefiCpuPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_MDEMODULE_DEBUG_ARM: + Pkgs: 'MdeModulePkg' + Targets: 'DEBUG,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_MDEMODULE_RELEASE_ARM: + Pkgs: 'MdeModulePkg' + Targets: 'RELEASE,NO-TARGET' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_NETWORK_ARM: + Pkgs: 'NetworkPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_OTHER_ARM: + Pkgs: 'PcAtChipsetPkg,ShellPkg,StandaloneMmPkg,BaseTools' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_TEST_POLICY_ARM: + Pkgs: 'UnitTestFrameworkPkg,PolicyServicePkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_CRYPTO_ARM: + Pkgs: 'CryptoPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true diff --git a/.azurepipelines/Windows-CLANGPDB.yml b/.azurepipelines/Windows-CLANGPDB.yml deleted file mode 100644 index 26a507cf299..00000000000 --- a/.azurepipelines/Windows-CLANGPDB.yml +++ /dev/null @@ -1,39 +0,0 @@ -## @file -# Azure Pipeline build file for a build using Windows and CLANGPDB. -# -# IMPORTANT: This file requires the local repo to contain a .azurepipelines/Matrix-Build-Job-Clang.yml file that -# performs the actual build steps for the configurations and packages supported by the repo. -# -# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there -# instead of the file in this repo. -# -# - Mu DevOps Repo: https://github.com/microsoft/mu_devops -# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml -# -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: BSD-2-Clause-Patent -## - -resources: - repositories: - - repository: mu_devops - type: github - endpoint: microsoft - name: microsoft/mu_devops - ref: refs/tags/v3.0.0 - -variables: -- group: architectures-x86-64 -- group: tool-chain-clangpdb -- group: tool-chain-clangpdb-windows-vm-image - -jobs: -- template: Matrix-Build-Job-Clang.yml - parameters: - arch_list: $(arch_list) - extra_install_step: - - powershell: choco install llvm - displayName: Install LLVM and CLANG - condition: and(gt(variables.pkg_count, 0), succeeded()) - tool_chain_tag: $(tool_chain_tag) - vm_image: $(vm_image) diff --git a/.azurepipelines/Windows-VS.yml b/.azurepipelines/Windows-VS.yml index e28e4fa1c2a..07d0ceab192 100644 --- a/.azurepipelines/Windows-VS.yml +++ b/.azurepipelines/Windows-VS.yml @@ -14,22 +14,80 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent ## -resources: - repositories: - - repository: mu_devops - type: github - endpoint: microsoft - name: microsoft/mu_devops - ref: refs/tags/v3.0.0 - variables: - group: architectures-x86-64 - group: tool-chain-windows-visual-studio-latest -jobs: -- template: Matrix-Build-Job.yml +extends: + template: MuDevOpsWrapper.yml parameters: - arch_list: $(arch_list) - extra_build_args: CODE_COVERAGE=TRUE - tool_chain_tag: $(tool_chain_tag) - vm_image: $(vm_image) + do_ci_build: true + do_ci_setup: false + do_non_ci_build: false + do_non_ci_setup: true + do_pr_eval: true + os_type: Windows_NT + build_matrix: + TARGET_MDE_CPU: + Pkgs: 'MdePkg,UefiCpuPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_MDEMODULE_DEBUG: + Pkgs: 'MdeModulePkg' + Targets: 'DEBUG,NOOPT' + ArchList: $(arch_list) + TARGET_MDEMODULE_RELEASE: + Pkgs: 'MdeModulePkg' + Targets: 'RELEASE,NO-TARGET' + ArchList: $(arch_list) + TARGET_NETWORK: + Pkgs: 'NetworkPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_OTHER: + Pkgs: 'PcAtChipsetPkg,ShellPkg,StandaloneMmPkg,BaseTools' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_TEST_POLICY: + Pkgs: 'UnitTestFrameworkPkg,PolicyServicePkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_CRYPTO: + Pkgs: 'CryptoPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + TARGET_MDE_CPU_ARM: + Pkgs: 'MdePkg,UefiCpuPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_MDEMODULE_DEBUG_ARM: + Pkgs: 'MdeModulePkg' + Targets: 'DEBUG,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_MDEMODULE_RELEASE_ARM: + Pkgs: 'MdeModulePkg' + Targets: 'RELEASE,NO-TARGET' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_NETWORK_ARM: + Pkgs: 'NetworkPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_OTHER_ARM: + Pkgs: 'PcAtChipsetPkg,ShellPkg,StandaloneMmPkg,BaseTools' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_TEST_POLICY_ARM: + Pkgs: 'UnitTestFrameworkPkg,PolicyServicePkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true + TARGET_CRYPTO_ARM: + Pkgs: 'CryptoPkg' + Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' + ArchList: $(arch_list) + SelfHostAgent: true