From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web11.56242.1669926497900652131 for ; Thu, 01 Dec 2022 12:28:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=dWIVQEGZ; spf=pass (domain: redhat.com, ip: 170.10.133.124, mailfrom: osteffen@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669926497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rDL/mlnEVTL5yfkl4Tax7uqRc8ZzqDKpuHY/LMf6zro=; b=dWIVQEGZZs5oGtRbG0a5GvYOLErl57TPJ+/S2ahb/I0yilT375mBAMLMLUiPn7j9aNufEk l2PSVjUWxNnRCWFL0knjyigSUNk01zXpPjnvGXKJ7bKdSNRSEXs1bg4rGSgwKPNiKUH57L iXwx+7zr2Vyeoa8tAClwyuxGz9NLCsE= Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-168-XvCXZVLROSGTILHKw3p3AA-1; Thu, 01 Dec 2022 15:28:16 -0500 X-MC-Unique: XvCXZVLROSGTILHKw3p3AA-1 Received: by mail-lj1-f200.google.com with SMTP id r2-20020a2eb602000000b00279c6301950so605794ljn.3 for ; Thu, 01 Dec 2022 12:28:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rDL/mlnEVTL5yfkl4Tax7uqRc8ZzqDKpuHY/LMf6zro=; b=hdq4D+JMfPr1A6uIgucVv5pa53ZFHvkg+vDM7DD0YcerFuJJLQWbv/WVISSfASG47y UsUQ9JqMqHuJo9udbZ9jCLFVkD34qP2I9wXsYcwtj1+eL4WKE6TgkktNlY3vvNX4ereU 7lMY0tE2Yz40a1NUmouzIMMByzzHKAq6zQHQArpNX0kDwhpuWjJH5qGN82EjWHEZsVaG ZxsgzrhfgpvFaFFyUPrdBQF3Afn9Fspmjsa++aKVl2iJrXa9bIfBsk7/EQjndnnGEbba SWorI7Zp7kipIicYtCHIMezpmyuOiWw5GzOO05Kt4wiSFGHjH51zq/dCMgCNMZZFU1+D ibRw== X-Gm-Message-State: ANoB5pniUw8qZS2JM7BZtHYfaAIXIS4u295ZKPYYvBsalcPkIRfvNZU3 TGrKwuQ1vKXjI3PbJj2A0PH1L0hCDZPPVcJPrvDnVZe+H3mAiRivuJD3H/9h8U6fD2gqkvCS0kB /eyBP6KDCLhKJyjbiDxDz7vTZVVDtcg== X-Received: by 2002:ac2:5e70:0:b0:4ad:3f25:60f4 with SMTP id a16-20020ac25e70000000b004ad3f2560f4mr16948471lfr.92.1669926494467; Thu, 01 Dec 2022 12:28:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf5L7LF3koTpMYReC6mpQhNSC6ZwVg3b0/CUxzGWYa4ZQs2L4PQ8Fe1fFcQdFq34Vj7RdieXZRHZ5ekGanNw8eQ= X-Received: by 2002:ac2:5e70:0:b0:4ad:3f25:60f4 with SMTP id a16-20020ac25e70000000b004ad3f2560f4mr16948453lfr.92.1669926494285; Thu, 01 Dec 2022 12:28:14 -0800 (PST) Received: from 567203818698 named unknown by gmailapi.google.com with HTTPREST; Thu, 1 Dec 2022 12:28:13 -0800 From: "Oliver Steffen" X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221201202810.109662-1-osteffen@redhat.com> References: <20221201202810.109662-1-osteffen@redhat.com> MIME-Version: 1.0 Date: Thu, 1 Dec 2022 12:28:13 -0800 Message-ID: Subject: [PATCH v10 01/17] CI: make Python version configurable To: devel@edk2.groups.io Cc: Andrew Fish , Ard Biesheuvel , Bob Feng , Daniel Schaefer , Gerd Hoffmann , Jiewen Yao , Jordan Justen , Leif Lindholm , Liming Gao , Michael D Kinney , Michael Kubacki , Ray Ni , Sami Mujawar , Sean Brogan , Sunil V L , Yuwei Chen , Zhiguang Liu , Pawel Polawski , Chris Fernald , Oliver Steffen X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" 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 --- .azurepipelines/Ubuntu-GCC5.yml | 4 ++++ .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, 30 insertions(+), 3 deletions(-) create mode 100644 .azurepipelines/templates/defaults.yml diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml index 1acd8d2a46a7..4ed6cb601b8e 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -13,10 +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" + usePythonVersion: ${{ variables.default_python_version }} 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..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 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