public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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>,
	Daniel Schaefer <git@danielschaefer.me>,
	 Gerd Hoffmann <kraxel@redhat.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>,
	 Sunil V L <sunilvl@ventanamicro.com>,
	Yuwei Chen <yuwei.chen@intel.com>,
	 Zhiguang Liu <zhiguang.liu@intel.com>,
	Pawel Polawski <ppolawsk@redhat.com>,
	 Chris Fernald <chfernal@microsoft.com>,
	Oliver Steffen <osteffen@redhat.com>
Subject: [PATCH v9 01/12] CI: make Python version configurable
Date: Wed, 30 Nov 2022 14:01:33 -0800	[thread overview]
Message-ID: <CA+bRGFpV0XZok6rjNpkg5guO0=QoLVjDqNyH04iikcEF0o8qpw@mail.gmail.com> (raw)
In-Reply-To: <20221130220125.1112760-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>
---
 .azurepipelines/Windows-VS2019.yml                     | 4 ++++
 .azurepipelines/templates/defaults.yml                 | 3 +++
 .azurepipelines/templates/platform-build-run-steps.yml | 6 +++++-
 .azurepipelines/templates/pr-gate-build-job.yml        | 2 ++
 .azurepipelines/templates/pr-gate-steps.yml            | 6 ++++--
 5 files changed, 18 insertions(+), 3 deletions(-)
 create mode 100644 .azurepipelines/templates/defaults.yml

diff --git a/.azurepipelines/Windows-VS2019.yml
b/.azurepipelines/Windows-VS2019.yml
index e4bd4b1d2283..89bccde82575 100644
--- a/.azurepipelines/Windows-VS2019.yml
+++ b/.azurepipelines/Windows-VS2019.yml
@@ -12,9 +12,13 @@ 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 }}
diff --git a/.azurepipelines/templates/defaults.yml
b/.azurepipelines/templates/defaults.yml
new file mode 100644
index 000000000000..314d03e33af8
--- /dev/null
+++ b/.azurepipelines/templates/defaults.yml
@@ -0,0 +1,3 @@
+
+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 7f88b41dc8d3..f0ef1142da49 100644
--- a/.azurepipelines/templates/pr-gate-build-job.yml
+++ b/.azurepipelines/templates/pr-gate-build-job.yml
@@ -12,6 +12,7 @@ parameters:
   tool_chain_tag: ''
   vm_image: ''
   arch_list: ''
+  usePythonVersion: ''

 # Build step
 jobs:
@@ -77,3 +78,4 @@ jobs:
       build_pkgs: $(Build.Pkgs)
       build_targets: $(Build.Targets)
       build_archs: ${{ parameters.arch_list }}
+      usePythonVersion: ${{ parameters.usePythonVersion }}
diff --git a/.azurepipelines/templates/pr-gate-steps.yml
b/.azurepipelines/templates/pr-gate-steps.yml
index cb431e53fcd1..27a44c06011c 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: ''

 steps:
 - checkout: self
@@ -20,8 +21,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.38.1


       reply	other threads:[~2022-11-30 22:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20221130220125.1112760-1-osteffen@redhat.com>
2022-11-30 22:01 ` Oliver Steffen [this message]
2022-11-30 23:46   ` [edk2-devel] [PATCH v9 01/12] CI: make Python version configurable Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 02/12] OvmfPkg: CI: use Python version from defaults template Oliver Steffen
2022-12-01  0:04   ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 03/12] EmulatorPkg: " Oliver Steffen
2022-12-01  0:04   ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 04/12] CI: add ~/.local/bin to PATH (Linux only) Oliver Steffen
2022-12-01  0:05   ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 05/12] CI: Allow running in a container Oliver Steffen
2022-12-01  0:05   ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 06/12] BaseTools: CI: Use Fedora 35 container (Linux only) Oliver Steffen
2022-12-01  0:05   ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 07/12] ArmVirtPkg: " Oliver Steffen
2022-11-30 22:01 ` [PATCH v9 08/12] OvmfPkg: " Oliver Steffen
2022-11-30 22:01 ` [PATCH v9 09/12] EmulatorPkg: " Oliver Steffen
2022-11-30 22:01 ` [PATCH v9 10/12] .pytool: CISettings.py: don't add scopes for GCC Oliver Steffen
2022-12-01  0:02   ` Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 11/12] CI: use latest vm_image (Linux only) Oliver Steffen
2022-11-30 23:41   ` Michael Kubacki
2022-12-01  0:03   ` Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 12/12] do not merge: modify *.dsc to trigger CI Oliver Steffen
2022-11-30 22:04   ` Oliver Steffen

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='CA+bRGFpV0XZok6rjNpkg5guO0=QoLVjDqNyH04iikcEF0o8qpw@mail.gmail.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