回复: [edk2-devel] [PATCH] .azurepipelines: Enable CI for WhiskeylakeOpenBoard in Edk2platforms


gaoliming
 

Dun:
I understand this test is to make sure Edk2 change doesn't break
WhiskeylakeOpenBoard build. It is still for edk2 change.

Thanks
Liming
-----邮件原件-----
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 duntan
发送时间: 2021年9月30日 9:15
收件人: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
抄送: Sean Brogan <sean.brogan@microsoft.com>; Bret Barkelew
<Bret.Barkelew@microsoft.com>; Kinney, Michael D
<michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
主题: Re: [edk2-devel] [PATCH] .azurepipelines: Enable CI for
WhiskeylakeOpenBoard in Edk2platforms

Hi Ray,
The CI is in edk2. The edk2 pull request which contains changes in
specified
folders of edk2 will trigger the ci to pull the latest code of
edk2-platforms,
intel/FSP and edk2-non-osi and build WhiskeyLakeOpenBoard.

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

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@intel.com>
Sent: Wednesday, September 29, 2021 2:38 PM
To: devel@edk2.groups.io
Cc: Sean Brogan <sean.brogan@microsoft.com>; Bret Barkelew
<Bret.Barkelew@microsoft.com>; Kinney, Michael D
<michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>;
Ni, Ray <ray.ni@intel.com>
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@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Ray Ni <ray.ni@intel.com>

Signed-off-by: Dun Tan <dun.tan@intel.com>
---
.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.