diff options
author | Oliver Steffen <osteffen@redhat.com> | 2023-01-16 18:40:28 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-01-17 19:06:32 +0000 |
commit | 357955173463b0a3c884ef9b5a9e8370e3d46f9a (patch) | |
tree | d69106c5005af8c27be72d50d879a3c84b16f268 | |
parent | 015a001b03db14f791476f817b8b125b195b6d10 (diff) | |
download | edk2-357955173463b0a3c884ef9b5a9e8370e3d46f9a.zip edk2-357955173463b0a3c884ef9b5a9e8370e3d46f9a.tar.gz edk2-357955173463b0a3c884ef9b5a9e8370e3d46f9a.tar.bz2 |
CI: make Python version configurable
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>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Chris Fernald <chfernal@microsoft.com>
-rw-r--r-- | .azurepipelines/Ubuntu-GCC5.yml | 8 | ||||
-rw-r--r-- | .azurepipelines/Windows-VS2019.yml | 4 | ||||
-rw-r--r-- | .azurepipelines/templates/defaults.yml | 11 | ||||
-rw-r--r-- | .azurepipelines/templates/platform-build-run-steps.yml | 6 | ||||
-rw-r--r-- | .azurepipelines/templates/pr-gate-build-job.yml | 2 | ||||
-rw-r--r-- | .azurepipelines/templates/pr-gate-steps.yml | 6 |
6 files changed, 30 insertions, 7 deletions
diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml index f83951e..4f9dcf0 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -13,13 +13,13 @@ 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 c07e5bb..58bb98d 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 0000000..b490944 --- /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 40a31a5..8803d80 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 fff61a3..b8573b9 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 080f60a..ebc1e86 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'
|