Skip to content

Commit

Permalink
Onboarding ARM64 builds on selfhosted Azure pipeline agents (#404)
Browse files Browse the repository at this point in the history
# Preface

Please ensure you have read the [contribution
docs](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md) prior
to submitting the pull request. In particular,
[pull request
guidelines](https://github.com/microsoft/mu/blob/master/CONTRIBUTING.md#pull-request-best-practices).

## Description

This change added a few new matrix entries to support building
mu_tiano_platforms on native ARM64 systems. The PR will cover both
#369 and
#305.

The PR should also be incorporated with mu_devops change.

For each item, place an "x" in between `[` and `]` if true. Example:
`[x]`.
_(you can also check items in the GitHub UI)_

- [x] Impacts functionality?
- **Functionality** - Does the change ultimately impact how firmware
functions?
- Examples: Add a new library, publish a new PPI, update an algorithm,
...
- [ ] Impacts security?
- **Security** - Does the change have a direct security impact on an
application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [ ] Breaking change?
- **Breaking change** - Will anyone consuming this change experience a
break
    in build or boot behavior?
- Examples: Add a new library class, move a module to a different repo,
call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
- **Documentation** - Does the change contain explicit documentation
additions
    outside direct code modifications (and comments)?
- Examples: Update readme file, add feature readme file, link to
documentation
    on an a separate Web page, ...

## How This Was Tested

This was tested on selfhost-agents and existing agents.

## Integration Instructions

Pipeline changes, N/A for integration.
  • Loading branch information
kuqin12 committed Jun 2, 2023
1 parent 62ed1c3 commit dd6eae6
Show file tree
Hide file tree
Showing 6 changed files with 145 additions and 295 deletions.
82 changes: 0 additions & 82 deletions .azurepipelines/Matrix-Build-Job-Clang.yml

This file was deleted.

104 changes: 0 additions & 104 deletions .azurepipelines/Matrix-Build-Job.yml

This file was deleted.

38 changes: 0 additions & 38 deletions .azurepipelines/Ubuntu-CLANGPDB.yml

This file was deleted.

91 changes: 73 additions & 18 deletions .azurepipelines/Ubuntu-GCC5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
39 changes: 0 additions & 39 deletions .azurepipelines/Windows-CLANGPDB.yml

This file was deleted.

Loading

0 comments on commit dd6eae6

Please sign in to comment.