From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web10.12035.1669817577788083403 for ; Wed, 30 Nov 2022 06:12:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=ljlgqHyd; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from [192.168.4.22] (unknown [47.201.8.94]) by linux.microsoft.com (Postfix) with ESMTPSA id D124720B83C2; Wed, 30 Nov 2022 06:12:51 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com D124720B83C2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1669817577; bh=iZ9qHEkid77zsdVTxNJiYrjIi6gxzk0mDxA79t/8zSQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=ljlgqHydBznRelMQv7XL69nnjwzi4jAxiIKODxXuomvvLotx6l4to7aLG1dM1BgTb G8xR8RKYmZeL+VatV9UmhW0FA8IWm2lAAPLEwQ4t5McMsTNF/rs38F8cFKT/DwLu8w vp1gIMv9lW1OuHQaQHksc0o5D+VbysZAtUSsdHWQ= Message-ID: <22bdd626-9b32-5e22-edb4-285374e5df2d@linux.microsoft.com> Date: Wed, 30 Nov 2022 09:12:50 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 Subject: Re: [PATCH v7 1/6] CI: make Python version configurable To: Oliver Steffen , devel@edk2.groups.io Cc: Abner Chang , Alexei Fedorov , Andrew Fish , Anthony Perard , Ard Biesheuvel , Bob Feng , Brijesh Singh , Chasel Chiu , Daniel Schaefer , Erdem Aktas , Eric Dong , Gerd Hoffmann , Gua Guo , Guo Dong , Guomin Jiang , Hao A Wu , Igor Kulchytskyy , James Bottomley , James Lu , Jian J Wang , Jiaxin Wu , Jiewen Yao , Jordan Justen , Julien Grall , Leif Lindholm , Liming Gao , Maciej Rabeda , Michael D Kinney , Min Xu , Nate DeSimone , Nickle Wang , Peter Grehan , Pierre Gondois , Rahul Kumar , Ray Ni , Rebecca Cran , Sami Mujawar , Sean Brogan , Sean Rhodes , Sebastien Boeuf , Siyuan Fu , Star Zeng , Sunil V L , Supreeth Venkatesh , Tom Lendacky , Wei6 Xu , Xiaoyu Lu , Yuwei Chen , Zhichao Gao , Zhiguang Liu , Pawel Polawski , Chris Fernald References: <20221129192625.643896-1-osteffen@redhat.com> From: "Michael Kubacki" In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit This distributes the Python version (as a default value) across several files - ">=3.10.6". For maintainability, we'd like to manage versioning more centrally to reduce likelihood of misses on updates. You could potentially adjust it such that the default does not specify a version, put the Python version in a template and call that when needed, etc. Thanks, Michael On 11/29/2022 2:26 PM, Oliver Steffen wrote: > 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 ">=3.10.6". > If '' is specified, Python will not be downloaded at runtime and > the one provided by the VM/container image will be used. > > Signed-off-by: Oliver Steffen > --- > .azurepipelines/templates/platform-build-run-steps.yml | 6 +++++- > .azurepipelines/templates/pr-gate-build-job.yml | 2 ++ > .azurepipelines/templates/pr-gate-steps.yml | 6 ++++-- > 3 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/.azurepipelines/templates/platform-build-run-steps.yml > b/.azurepipelines/templates/platform-build-run-steps.yml > index 40a31a509fc5..6c9189a20fde 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: ">=3.10.6" > > 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..d0a6ccd10700 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: '>=3.10.6' > > # 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..bf6574b33692 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: '>=3.10.6' > > 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'