Skip to content

Commit

Permalink
CI: make Python version configurable
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: Michael Kubacki <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Acked-by: Gerd Hoffmann <[email protected]>
Reviewed-by: Chris Fernald <[email protected]>
  • Loading branch information
osteffenrh authored and mergify[bot] committed Jan 17, 2023
1 parent 015a001 commit 3579551
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 7 deletions.
8 changes: 4 additions & 4 deletions .azurepipelines/Ubuntu-GCC5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
4 changes: 4 additions & 0 deletions .azurepipelines/Windows-VS2019.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 11 additions & 0 deletions .azurepipelines/templates/defaults.yml
Original file line number Diff line number Diff line change
@@ -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"
6 changes: 5 additions & 1 deletion .azurepipelines/templates/platform-build-run-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ parameters:
- name: extra_install_step
type: stepList
default: []
- name: usePythonVersion
type: string
default: ''

steps:
- checkout: self
Expand All @@ -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'
Expand Down
2 changes: 2 additions & 0 deletions .azurepipelines/templates/pr-gate-build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ parameters:
vm_image: ''
arch_list: ''
extra_install_step: []
usePythonVersion: ''

# Build step
jobs:
Expand Down Expand Up @@ -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
Expand Down
6 changes: 4 additions & 2 deletions .azurepipelines/templates/pr-gate-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ parameters:
build_pkgs: ''
build_targets: ''
build_archs: ''
usePythonVersion: ''
extra_install_step: []

steps:
Expand All @@ -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'
Expand Down

0 comments on commit 3579551

Please sign in to comment.