Skip to content

Commit

Permalink
[REBASE&FF] Repo File Sync: Enable code coverage uploads to codecov (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
uefibot authored and kenlautner committed Aug 2, 2024
1 parent 8e69338 commit c15125f
Show file tree
Hide file tree
Showing 35 changed files with 1,941 additions and 241 deletions.
75 changes: 0 additions & 75 deletions .azurepipelines/Matrix-Build-Job.yml

This file was deleted.

121 changes: 121 additions & 0 deletions .azurepipelines/MuDevOpsWrapper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
## @file
# Azure Pipeline build file for a build using mu_devops.
#
# To upload coverage results, set `coverage_upload_target` to `ado` or `codecov`.
#
# 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/v10.0.0

parameters:
- name: do_ci_build
displayName: Perform Stuart CI Build
type: boolean
default: true
- name: do_ci_setup
displayName: Perform Stuart CI Setup
type: boolean
default: true
- name: do_non_ci_build
displayName: Perform non-CI Stuart Build
type: boolean
default: false
- name: do_non_ci_setup
displayName: Perform non-CI Stuart Setup
type: boolean
default: false
- name: do_pr_eval
displayName: Perform Stuart PR Evaluation
type: boolean
default: true
- name: container_build
displayName: Flag for whether this repo should do stuart_setup
type: boolean
default: false
- name: os_type
displayName: OS type on the self-hosted agent pools
type: string
values:
- Windows_NT
- Linux
default: Windows_NT
- name: build_matrix
displayName: Build matrix for this repository
type: object
- name: pool_name
displayName: Variable name that hosts pool name to be used for self-hosted agents
type: string
default: pool_name
- name: extra_install_step
displayName: Extra Install Steps
type: stepList
default:
- script: echo No extra steps provided
- name: extra_jobs
displayName: Extra Jobs to be run after build
type: jobList
default: []
- name: rust_build
displayName: Whether Rust code is being built
type: boolean
default: false
- name: extra_cargo_steps
displayName: Extra Steps to Run Before Standard Cargo Steps
type: stepList
default:
- script: echo No extra cargo steps provided

jobs:
- template: Jobs/PrGate.yml@mu_devops
parameters:
linux_container_image: ghcr.io/microsoft/mu_devops/ubuntu-22-build:0e124c1
${{ if eq(parameters.rust_build, true) }}:
linux_container_options: --security-opt seccomp=unconfined
do_ci_build: ${{ parameters.do_ci_build }}
do_ci_setup: ${{ parameters.do_ci_setup }}
do_pr_eval: ${{ parameters.do_pr_eval }}
do_non_ci_setup: ${{ parameters.do_non_ci_setup }}
do_non_ci_build: ${{ parameters.do_non_ci_build }}
build_matrix: ${{ parameters.build_matrix }}
os_type: ${{ parameters.os_type }}
pool_name: ${{ parameters.pool_name }}
extra_install_step: ${{ parameters.extra_install_step }}
tool_chain_tag: $(tool_chain_tag)
vm_image: $(vm_image)
container_build: ${{ parameters.container_build }}
rust_build: ${{ parameters.rust_build }}

- ${{ if eq(parameters.rust_build, true) }}:
- job: CargoCmds
displayName: Workspace Cargo Commands

container:

image: ghcr.io/microsoft/mu_devops/ubuntu-22-build:0e124c1
options: --user root --name mu_devops_build_container --security-opt seccomp=unconfined

steps:
- checkout: self
fetchDepth: 1
clean: true
- ${{ parameters.extra_cargo_steps }}
- template: Steps/RustCargoSteps.yml@mu_devops
parameters:
container_build: true

- ${{ parameters.extra_jobs }}

68 changes: 36 additions & 32 deletions .azurepipelines/Ubuntu-GCC5.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,36 @@
## @file
# Azure Pipeline build file for a build using Ubuntu and GCC.
#
# Copyright (c) Microsoft Corporation.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##

resources:
repositories:
- repository: mu_devops
type: github
endpoint: microsoft
name: microsoft/mu_devops
ref: main

variables:
- group: architectures-arm-64-x86-64
- group: tool-chain-ubuntu-gcc

jobs:
- template: Matrix-Build-Job.yml
parameters:
arch_list: $(arch_list)
extra_build_args: CODE_COVERAGE=TRUE CC_HTML=TRUE
extra_install_step:
- script: |
sudo apt-get install -y mingw-w64 lcov
pip install lcov_cobertura pycobertura
displayName: Install Windows Resource Compiler for Linux & Code Coverage Tools
tool_chain_tag: $(tool_chain_tag)
vm_image: $(vm_image)
## @file
# Azure Pipeline build file for a build using Ubuntu and GCC.
#
# IMPORTANT: This file requires the local repo to contain a .azurepipelines/Matrix-Build-Job.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
##

variables:
- group: architectures-arm-64-x86-64
- group: tool-chain-ubuntu-gcc
- group: coverage

extends:
template: MuDevOpsWrapper.yml
parameters:
do_ci_build: true
do_ci_setup: true
do_non_ci_build: false
do_non_ci_setup: true
do_pr_eval: true
container_build: true
os_type: Linux
build_matrix:
TARGET_MinPlatform:
Pkgs: 'MinPlatformPkg'
Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
ArchList: $(arch_list)
60 changes: 35 additions & 25 deletions .azurepipelines/Windows-VS.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
## @file
# Azure Pipeline build file for a build using Windows and the latest Visual Studio toolchain supported.
#
# 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: main

variables:
- group: architectures-x86-64
- group: tool-chain-windows-visual-studio-latest

jobs:
- template: Matrix-Build-Job.yml
parameters:
arch_list: $(arch_list)
tool_chain_tag: $(tool_chain_tag)
vm_image: $(vm_image)
## @file
# Azure Pipeline build file for a build using Windows and the latest Visual Studio toolchain supported.
#
# IMPORTANT: This file requires the local repo to contain a .azurepipelines/Matrix-Build-Job.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
##

variables:
- group: architectures-x86-64
- group: tool-chain-windows-visual-studio-latest
- group: coverage

extends:
template: MuDevOpsWrapper.yml
parameters:
do_ci_build: true
do_ci_setup: true
do_non_ci_build: false
do_non_ci_setup: true
do_pr_eval: true
os_type: Windows_NT
build_matrix:
TARGET_MinPlatform:
Pkgs: 'MinPlatformPkg'
Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
ArchList: $(arch_list)
12 changes: 12 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"image": "ghcr.io/microsoft/mu_devops/ubuntu-22-dev:latest",
"postCreateCommand": "git config --global --add safe.directory '*' && git config --global --add core.autocrlf false && pip install --upgrade -r pip-requirements.txt",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"DavidAnson.vscode-markdownlint"
]
}
}
}
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* -text
Loading

0 comments on commit c15125f

Please sign in to comment.