Re: [PATCH] .azurepipelines: Enable CI for WhiskeylakeOpenBoard in Edk2platforms


Ni, Ray
 

Is this a patch to enable CI in edk2-platforms?

Package maintainers can directly check in changes to edk2-platforms. Then how the CI is triggered?

Will the CI run because of a edk2 pull request?

Thanks,
Ray

-----Original Message-----
From: Tan, Dun <dun.tan@...>
Sent: Wednesday, September 29, 2021 2:38 PM
To: devel@edk2.groups.io
Cc: Sean Brogan <sean.brogan@...>; Bret Barkelew <Bret.Barkelew@...>; Kinney, Michael D
<michael.d.kinney@...>; Liming Gao <gaoliming@...>; Ni, Ray <ray.ni@...>
Subject: [PATCH] .azurepipelines: Enable CI for WhiskeylakeOpenBoard in Edk2platforms

The edk2-platforms.yml contains the necessary github repo that will be
checked out, the platform name to build and the folders in edk2 which
will trigger the CI. The edk2platforms-run-steps.yml contains the main
steps to build WhiskeylakeOpenBoard.

Cc: Sean Brogan <sean.brogan@...>
Cc: Bret Barkelew <Bret.Barkelew@...>
Cc: Michael D Kinney <michael.d.kinney@...>
Cc: Liming Gao <gaoliming@...>
Cc: Ray Ni <ray.ni@...>

Signed-off-by: Dun Tan <dun.tan@...>
---
.azurepipelines/edk2-platforms.yml | 71
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.azurepipelines/edk2platforms-run-steps.yml | 72
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 143 insertions(+)

diff --git a/.azurepipelines/edk2-platforms.yml b/.azurepipelines/edk2-platforms.yml
new file mode 100644
index 0000000000..5d47e213ad
--- /dev/null
+++ b/.azurepipelines/edk2-platforms.yml
@@ -0,0 +1,71 @@
+## @file
+# Azure Pipeline build file for WhiskeylakeOpenBoard in Edk2platforms on windows and ubuntu
+#
+# Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+trigger:
+ - master
+ - stable/*
+pr:
+ branches:
+ include:
+ - master
+ - stable/*
+ paths:
+ include:
+ - BaseTools
+ - CryptoPkg
+ - FatPkg
+ - IntelFsp2WrapperPkg
+ - MdeModulePkg
+ - MdePkg
+ - NetworkPkg
+ - PcAtChipsetPkg
+ - SecurityPkg
+ - ShellPkg
+ - UefiCpuPkg
+
+resources:
+ repositories:
+ - repository: edk2-platforms
+ type: github
+ endpoint: tianocore
+ name: tianocore/edk2-platforms
+ - repository: edk2-non-osi
+ type: github
+ endpoint: tianocore
+ name: tianocore/edk2-non-osi
+ - repository: FSP
+ type: github
+ endpoint: tianocore
+ name: intel/FSP
+
+jobs:
+ - job: Edk2Platforms_CI_Windows
+ pool:
+ vmImage: 'windows-latest'
+ strategy:
+ matrix:
+ WhiskeylakeOpenBoard_WhiskeylakeURvp:
+ Board.Name: "WhiskeylakeURvp"
+ WhiskeylakeOpenBoard_UpXtreme:
+ Board.Name: "UpXtreme"
+ steps:
+ - template: edk2platforms-run-steps.yml
+ parameters:
+ board_name: $(Board.Name)
+ pool_name: 'windows-latest'
+
+ - job: Edk2Platforms_CI_Linux
+ pool:
+ vmImage: 'ubuntu-latest'
+ strategy:
+ matrix:
+ WhiskeylakeOpenBoard_WhiskeylakeURvp:
+ Board.Name: "WhiskeylakeURvp"
+ steps:
+ - template: edk2platforms-run-steps.yml
+ parameters:
+ board_name: $(Board.Name)
+ pool_name: 'ubuntu-latest'
diff --git a/.azurepipelines/edk2platforms-run-steps.yml b/.azurepipelines/edk2platforms-run-steps.yml
new file mode 100644
index 0000000000..04b5d40fd8
--- /dev/null
+++ b/.azurepipelines/edk2platforms-run-steps.yml
@@ -0,0 +1,72 @@
+## @file
+# File templates/edk2platforms-run-steps.yml
+#
+# template file containing the steps to build
+#
+# Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+parameters:
+- name: board_name
+ type: string
+ default: ''
+- name: pool_name
+ type: string
+ default: ''
+
+steps:
+- checkout: self
+ submodules: true
+- checkout: edk2-non-osi
+- checkout: FSP
+- checkout: edk2-platforms
+
+- task: UsePythonVersion@0
+ inputs:
+ versionSpec: "3.8.x"
+ architecture: "x64"
+
+- ${{ if contains(parameters.pool_name, 'ubuntu') }}:
+ - bash: |
+ sudo apt-get update
+ sudo apt-get install gcc g++ make uuid-dev nasm iasl
+ displayName: Update apt and Install required tools
+ - script: |
+ source edksetup.sh
+ echo "##vso[task.setvariable variable=PATH;]$PATH"
+ displayName: Set env Path
+ workingDirectory: edk2/
+
+- ${{ if contains(parameters.pool_name, 'windows') }}:
+ - powershell: |
+ choco install iasl -y --version=2017.11.10
+ echo "##vso[task.setvariable variable=IASL_PREFIX;]C:\tools\ASL\"
+ choco install nasm -y
+ echo "##vso[task.setvariable variable=NASM_PREFIX;]C:\Program Files\NASM\"
+ displayName: Windows EDK II Prerequisites
+
+# Build WhiskeylakeOpenBoard in edk2platforms
+- script: python build_bios.py --platform ${{ parameters.board_name}}
+ displayName: Build platform ${{ parameters.board_name}}
+ workingDirectory: edk2-platforms/Platform/Intel
+
+# Copy the build logs to the artifact staging directory
+- task: CopyFiles@2
+ displayName: "Copy build logs"
+ inputs:
+ targetFolder: "$(Build.ArtifactStagingDirectory)"
+ SourceFolder:
+ contents: |
+ Build.log
+ BuildReport.log
+ flattenFolders: true
+ condition: succeededOrFailed()
+
+# Publish build artifacts to Azure Artifacts/TFS or a file share
+- task: PublishBuildArtifacts@1
+ continueOnError: true
+ displayName: "Publish build logs"
+ inputs:
+ pathtoPublish: "$(Build.ArtifactStagingDirectory)"
+ artifactName: "Build Logs $(System.JobName)"
+ condition: succeededOrFailed()
--
2.31.1.windows.1

Join devel@edk2.groups.io to automatically receive all group messages.