From: "Oliver Steffen" <osteffen@redhat.com>
To: devel@edk2.groups.io
Cc: Andrew Fish <afish@apple.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Bob Feng <bob.c.feng@intel.com>, Dandan Bi <dandan.bi@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Jian J Wang <jian.j.wang@intel.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Michael D Kinney <michael.d.kinney@intel.com>,
Michael Kubacki <mikuback@linux.microsoft.com>,
Ray Ni <ray.ni@intel.com>, Sami Mujawar <sami.mujawar@arm.com>,
Sean Brogan <sean.brogan@microsoft.com>,
Yuwei Chen <yuwei.chen@intel.com>,
Pawel Polawski <ppolawsk@redhat.com>,
chris.fernald@outlook.com, Oliver Steffen <osteffen@redhat.com>,
Michael Kubacki <michael.kubacki@microsoft.com>
Subject: [PATCH v11 01/17] CI: make Python version configurable
Date: Mon, 16 Jan 2023 18:40:28 +0100 [thread overview]
Message-ID: <20230116174044.3346383-2-osteffen@redhat.com> (raw)
In-Reply-To: <20230116174044.3346383-1-osteffen@redhat.com>
Add a new parameter "usePythonVersion" to the CI job templates.
This makes it possible to specify the version of Python to use.
The default value is '', in which case Python will not be downloaded
at runtime and the one provided by the VM/container image will be used.
Additionally, add a template .azurepipelines/templates/defaults.yml,
from which the default Pyhton version string can be obtained.
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
.azurepipelines/Ubuntu-GCC5.yml | 9 +++++----
.azurepipelines/Windows-VS2019.yml | 4 ++++
.azurepipelines/templates/defaults.yml | 11 +++++++++++
.../templates/platform-build-run-steps.yml | 6 +++++-
.azurepipelines/templates/pr-gate-build-job.yml | 2 ++
.azurepipelines/templates/pr-gate-steps.yml | 6 ++++--
6 files changed, 31 insertions(+), 7 deletions(-)
create mode 100644 .azurepipelines/templates/defaults.yml
diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml
index f83951eeaf86..4ed6cb601b8e 100644
--- a/.azurepipelines/Ubuntu-GCC5.yml
+++ b/.azurepipelines/Ubuntu-GCC5.yml
@@ -13,13 +13,14 @@ pr:
- master
- stable/*
+variables:
+ - template: templates/defaults.yml
+
jobs:
- template: templates/pr-gate-build-job.yml
parameters:
tool_chain_tag: 'GCC5'
vm_image: 'ubuntu-latest'
arch_list: "IA32,X64,ARM,AARCH64,RISCV64,LOONGARCH64"
- extra_install_step:
- - bash: sudo apt-get install -y lcov
- displayName: Install Code Coverage Tools
- condition: and(gt(variables.pkg_count, 0), succeeded())
+ usePythonVersion: ${{ variables.default_python_version }}
+
diff --git a/.azurepipelines/Windows-VS2019.yml b/.azurepipelines/Windows-VS2019.yml
index c07e5bb43424..58bb98d42b28 100644
--- a/.azurepipelines/Windows-VS2019.yml
+++ b/.azurepipelines/Windows-VS2019.yml
@@ -12,12 +12,16 @@ pr:
- master
- stable/*
+variables:
+ - template: templates/defaults.yml
+
jobs:
- template: templates/pr-gate-build-job.yml
parameters:
tool_chain_tag: 'VS2019'
vm_image: 'windows-2019'
arch_list: "IA32,X64"
+ usePythonVersion: ${{ variables.default_python_version }}
extra_install_step:
- powershell: choco install opencppcoverage; Write-Host "##vso[task.prependpath]C:\Program Files\OpenCppCoverage"
displayName: Install Code Coverage Tool
diff --git a/.azurepipelines/templates/defaults.yml b/.azurepipelines/templates/defaults.yml
new file mode 100644
index 000000000000..b4909448bdea
--- /dev/null
+++ b/.azurepipelines/templates/defaults.yml
@@ -0,0 +1,11 @@
+## @file
+# File templates/default.yml
+#
+# template file containing common default values
+#
+# Copyright (c) Red Hat, Inc.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+variables:
+ default_python_version: ">=3.10.6"
diff --git a/.azurepipelines/templates/platform-build-run-steps.yml b/.azurepipelines/templates/platform-build-run-steps.yml
index 40a31a509fc5..8803d80cf51c 100644
--- a/.azurepipelines/templates/platform-build-run-steps.yml
+++ b/.azurepipelines/templates/platform-build-run-steps.yml
@@ -34,6 +34,9 @@ parameters:
- name: extra_install_step
type: stepList
default: []
+- name: usePythonVersion
+ type: string
+ default: ''
steps:
- checkout: self
@@ -42,8 +45,9 @@ steps:
- task: UsePythonVersion@0
inputs:
- versionSpec: ">=3.10.6"
+ versionSpec: ${{ parameters.usePythonVersion }}
architecture: "x64"
+ condition: ne('${{ parameters.usePythonVersion }}', '')
- script: pip install -r pip-requirements.txt --upgrade
displayName: 'Install/Upgrade pip modules'
diff --git a/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipelines/templates/pr-gate-build-job.yml
index fff61a3193b0..b8573b90da1c 100644
--- a/.azurepipelines/templates/pr-gate-build-job.yml
+++ b/.azurepipelines/templates/pr-gate-build-job.yml
@@ -13,6 +13,7 @@ parameters:
vm_image: ''
arch_list: ''
extra_install_step: []
+ usePythonVersion: ''
# Build step
jobs:
@@ -78,6 +79,7 @@ jobs:
build_pkgs: $(Build.Pkgs)
build_targets: $(Build.Targets)
build_archs: ${{ parameters.arch_list }}
+ usePythonVersion: ${{ parameters.usePythonVersion }}
extra_install_step: ${{ parameters.extra_install_step }}
- job: Build_${{ parameters.tool_chain_tag }}_TARGET_CODE_COVERAGE
diff --git a/.azurepipelines/templates/pr-gate-steps.yml b/.azurepipelines/templates/pr-gate-steps.yml
index 080f60aea6ab..ebc1e86c37d4 100644
--- a/.azurepipelines/templates/pr-gate-steps.yml
+++ b/.azurepipelines/templates/pr-gate-steps.yml
@@ -12,6 +12,7 @@ parameters:
build_pkgs: ''
build_targets: ''
build_archs: ''
+ usePythonVersion: ''
extra_install_step: []
steps:
@@ -21,8 +22,9 @@ steps:
- task: UsePythonVersion@0
inputs:
- versionSpec: '>=3.10.6'
- architecture: 'x64'
+ versionSpec: ${{ parameters.usePythonVersion }}
+ architecture: "x64"
+ condition: ne('${{ parameters.usePythonVersion }}', '')
- script: pip install -r pip-requirements.txt --upgrade
displayName: 'Install/Upgrade pip modules'
--
2.39.0
next prev parent reply other threads:[~2023-01-16 17:41 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-16 17:40 [PATCH v11 00/17] CI: Use Fedora 35 container for Linux jobs Oliver Steffen
2023-01-16 17:40 ` Oliver Steffen [this message]
2023-01-16 17:40 ` [PATCH v11 02/17] ArmVirtPkg: CI: use Python version from defaults template Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 03/17] EmulatorPkg: " Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 04/17] OvmfPkg: " Oliver Steffen
2023-01-17 0:14 ` [edk2-devel] " Yao, Jiewen
2023-01-16 17:40 ` [PATCH v11 05/17] CI: add ~/.local/bin to PATH (Linux only) Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 06/17] CI: Allow running in a container Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 07/17] CI: Use Fedora 35 container (Linux only) Oliver Steffen
2023-01-17 17:27 ` Michael Kubacki
2023-01-16 17:40 ` [PATCH v11 08/17] ArmVirtPkg: " Oliver Steffen
2023-01-17 17:27 ` Michael Kubacki
2023-01-16 17:40 ` [PATCH v11 09/17] EmulatorPkg: " Oliver Steffen
2023-01-17 17:28 ` Michael Kubacki
2023-01-16 17:40 ` [PATCH v11 10/17] OvmfPkg: " Oliver Steffen
2023-01-17 0:14 ` [edk2-devel] " Yao, Jiewen
2023-01-17 17:28 ` Michael Kubacki
2023-01-16 17:40 ` [PATCH v11 11/17] .pytool: CISettings.py: don't add scopes for GCC Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 12/17] BaseTools: remove ext_dep files for gcc Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 13/17] ArmVirtPkg: CI: use ubuntu-22.04 vm_image (Linux only) Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 14/17] EmulatorPgk: " Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 15/17] OvmfPkg: " Oliver Steffen
2023-01-17 0:15 ` [edk2-devel] " Yao, Jiewen
2023-01-16 17:40 ` [PATCH v11 16/17] CI: use ubuntu-22.04 image " Oliver Steffen
2023-01-16 17:40 ` [PATCH v11 17/17] OfmvPkg: CI: Qemu tests: set CPU to Broadwell Oliver Steffen
2023-01-17 0:16 ` Yao, Jiewen
2023-01-17 10:37 ` [edk2-devel] " Oliver Steffen
2023-01-17 12:20 ` Yao, Jiewen
2023-01-17 12:38 ` Gerd Hoffmann
2023-01-17 14:49 ` Yao, Jiewen
2023-01-17 14:52 ` Oliver Steffen
2023-01-17 18:22 ` [PATCH v11 00/17] CI: Use Fedora 35 container for Linux jobs Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230116174044.3346383-2-osteffen@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox