From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Yang Zhao <yang.zhao@skyboxlabs.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 01/13] ci: also run linux-gcc pipeline with python-3.7 environment
Date: Thu, 12 Dec 2019 15:13:22 +0100 [thread overview]
Message-ID: <20191212141322.GK6527@szeder.dev> (raw)
In-Reply-To: <CABvFv3Lud80UzFXa6BRMGLwRV6gsJpNcs-mrgOiNHoJL0d+koA@mail.gmail.com>
On Tue, Dec 10, 2019 at 11:11:09AM -0800, Yang Zhao wrote:
> On Tue, Dec 10, 2019 at 2:30 AM SZEDER Gábor <szeder.dev@gmail.com> wrote:
> > On Fri, Dec 06, 2019 at 04:33:19PM -0800, Yang Zhao wrote:
> > > 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.
Building git and running the test suite is encapsulated in the
'ci/run-build-and-tests.sh' script, while installing dependencies is
encapsulated in 'ci/install-dependencies.sh', just in case Azure
Pipelines Linux images don't contain both Python 2 and 3 (Travis CI
images contain 2.7 and 3.5) So I don't think it's necessary to touch
'azure-pipelines.yml' or '.travis.yml' at all.
> 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.
The PYTHON_PATH that we build 'git p4' with can be a symbolink link,
and then choosing which Python version to use is only a matter of
pointing that symbolic link to the python binary of the desired
version.
In fact our default PYTHON_PATH is '/usr/bin/python', which is a
symbolic link pointing to 'python2.7' on Ubuntu 16.04, including the
Travis CI's images that we use.
> 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
next prev parent reply other threads:[~2019-12-12 14:13 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-07 0:33 [PATCH 00/13] git-p4: python3 compatibility Yang Zhao
2019-12-07 0:33 ` [PATCH 01/13] ci: also run linux-gcc pipeline with python-3.7 environment Yang Zhao
2019-12-10 10:30 ` SZEDER Gábor
2019-12-10 19:11 ` Yang Zhao
2019-12-12 14:13 ` SZEDER Gábor [this message]
2019-12-12 17:04 ` Yang Zhao
2019-12-12 17:15 ` SZEDER Gábor
2019-12-12 19:02 ` Yang Zhao
2019-12-07 0:33 ` [PATCH 02/13] git-p4: make python-2.7 the oldest supported version Yang Zhao
2019-12-07 0:33 ` [PATCH 03/13] git-p4: simplify python version detection Yang Zhao
2019-12-07 0:33 ` [PATCH 04/13] git-p4: decode response from p4 to str for python3 Yang Zhao
2019-12-07 0:33 ` [PATCH 05/13] git-p4: properly encode/decode communication with git for python 3 Yang Zhao
2019-12-07 0:33 ` [PATCH 06/13] git-p4: convert path to unicode before processing them Yang Zhao
2019-12-07 0:33 ` [PATCH 06/13] git-p4: open .gitp4-usercache.txt in text mode Yang Zhao
2019-12-07 0:33 ` [PATCH 07/13] git-p4: convert path to unicode before processing them Yang Zhao
2019-12-07 0:33 ` [PATCH 07/13] git-p4: open .gitp4-usercache.txt in text mode Yang Zhao
2019-12-07 0:33 ` [PATCH 08/13] git-p4: use marshal format version 2 when sending to p4 Yang Zhao
2019-12-07 0:33 ` [PATCH 09/13] git-p4: fix freezing while waiting for fast-import progress Yang Zhao
2019-12-07 0:33 ` [PATCH 10/13] git-p4: use functools.reduce instead of reduce Yang Zhao
2019-12-07 0:33 ` [PATCH 11/13] git-p4: use dict.items() iteration for python3 compatibility Yang Zhao
2019-12-07 0:33 ` [PATCH 12/13] git-p4: simplify regex pattern generation for parsing diff-tree Yang Zhao
2019-12-07 0:33 ` [PATCH 13/13] git-p4: use python3's input() everywhere Yang Zhao
2019-12-07 1:09 ` [PATCH 00/13] git-p4: python3 compatibility Denton Liu
2019-12-07 7:29 ` Yang Zhao
2019-12-07 16:21 ` Ben Keene
2019-12-07 19:59 ` Yang Zhao
2019-12-09 15:03 ` Ben Keene
2019-12-09 18:54 ` Ben Keene
2019-12-09 19:48 ` Johannes Schindelin
2019-12-10 14:20 ` Ben Keene
2019-12-09 20:21 ` Yang Zhao
2019-12-13 17:10 ` Ben Keene
2019-12-07 7:34 ` Yang Zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191212141322.GK6527@szeder.dev \
--to=szeder.dev@gmail.com \
--cc=git@vger.kernel.org \
--cc=yang.zhao@skyboxlabs.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).