Re: [PATCH 01/13] ci: also run linux-gcc pipeline with python-3.7 environment
From: Yang Zhao <hidden>
Date: 2019-12-10 19:09:31
On Tue, Dec 10, 2019 at 2:30 AM SZEDER Gábor [off-list ref] wrote:
On Fri, Dec 06, 2019 at 04:33:19PM -0800, Yang Zhao wrote:quoted
diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 37ed7e06c6..d5f9413248 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml@@ -331,7 +331,18 @@ jobs: displayName: linux-gcc condition: succeeded() pool: Hosted Ubuntu 1604 + strategy: + matrix: + python27: + python.version: '2.7' + python37: + python.version: '3.7' steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '$(python.version)' + - bash: | + echo "##vso[task.setvariable variable=python_path]$(which python)"I don't speak 'azure-pipelines.yml', so question: will this build Git and run the whole test suite twice, once with Python 2.7 and once with 3.7? I'm asking because 'git-p4' is the one and only Python script we have, with no plans for more, so running the whole test suite with a different Python version for a second time instead of running only the 'git-p4'-specific tests (t98*) seems to be quite wasteful.
The CI scripts as it is currently does not separate compiling and testing for non-Windows builds. I don't see a good way to only run a specific set of tests given a particular environment without re-architecturing the CI pipeline. Furthermore, there's a step in the build that hard-codes the environment's python path into the installed version of the script. This complicates being able to even create a `git-p4` that runs under different python environments in Azure Pipelines due to how `UsePythonVersion@0` pulls python into version-specific directories. I haven't dug into why this hardcoding is done in the first place. So, the question is if it's worth doing this work now when the desire seems to be dropping python-2.7 completely in the (near?) future. -- Yang