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.web11.29273.1669851990815288907 for ; Wed, 30 Nov 2022 15:46:30 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=h7HU6gU/; 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 0BEEC20B83C2; Wed, 30 Nov 2022 15:46:27 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 0BEEC20B83C2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1669851990; bh=uG7zV3etuaWKe88zhu1AgJE/FatOnBv1F6D9/t78kQw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=h7HU6gU/KYCg0cZC/0XulirwefCbkSTJDAQX6opOu8rSQC5lJEkCWIRuCyJQirnUV 459Zy9F6qQwi/NqdJBv6mSkCxit2ve6FVLp/clly2pFeOlhLTgD0C5T7kzGrijx4f6 KiLF+T/SD5TeiacoxHBgVWBKO+3pK/+RpMAwMOsA= Message-ID: <3ba22358-66ff-6ade-9e1b-07f481209c2a@linux.microsoft.com> Date: Wed, 30 Nov 2022 18:46:26 -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: [edk2-devel] [PATCH v9 01/12] CI: make Python version configurable To: devel@edk2.groups.io, osteffen@redhat.com Cc: Andrew Fish , Ard Biesheuvel , Bob Feng , Daniel Schaefer , Gerd Hoffmann , Jiewen Yao , Jordan Justen , Leif Lindholm , Liming Gao , Michael D Kinney , Ray Ni , Sami Mujawar , Sean Brogan , Sunil V L , Yuwei Chen , Zhiguang Liu , Pawel Polawski , Chris Fernald References: <20221130220125.1112760-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 I think you should update Ubuntu-GCC5.yml to use templates/defaults.yml in this commit since at this point in time containers are not used yet. Can you also add a copyright header to defaults.yml? Then it will be consistent with other yaml files and in place as the file grows in the future. Thanks, Michael On 11/30/2022 5:01 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 '', 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/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'