qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: wainersm@redhat.com
Cc: "Thomas Huth" <thuth@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel@nongnu.org, "Willian Rampazzo" <willianr@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH 03/11] python: Re-lock pipenv at *oldest* supported versions
Date: Mon, 28 Jun 2021 16:38:30 -0400	[thread overview]
Message-ID: <CAFn=p-bsKFmGiSACV-fTSG7F=wx3s0yLRgakP7fJEgtMOtLHgw@mail.gmail.com> (raw)
In-Reply-To: <bb313f2b-fc35-96b4-417e-cd3a996ea4a2@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2754 bytes --]

On Mon, Jun 28, 2021 at 4:31 PM Wainer dos Santos Moschetta <
wainersm@redhat.com> wrote:

>
> On 6/25/21 12:45 PM, John Snow wrote:
> > tox is already testing the most recent versions. Let's use pipenv to
> > test the oldest versions we claim to support. This matches the stylistic
> > choice to have pipenv always test our oldest supported Python version,
> 3.6.
> Currently tox is testing with 3.6 too. Should we remove that version
> from the test matrix?
>

Tox will test with 3.6, but against the very latest pylint/mypy. This test
will also use 3.6, but against the oldest pylint/mypy we claim to support
in the package metadata. I think they are both useful.

The pipenv test will make sure we don't accidentally increase our
dependency requirements without noticing. This has some value for other
QEMU developers that are used to running and managing their own linters,
such as we did for a long time. I don't want to break their environments by
accident. (It also makes sure that no 3.7+ isms sneak into the code by
accident, too. This has historically been, and I anticipate it will
continue to be, a prominent problem in the Python library.)

The tox test gives us a heads up if there are incompatible changes arriving
in the bleeding edge for pylint/mypy et al that I will need to be aware of
before they are rolled out and wind up on random developer's systems and
start causing 'make check' to fail.

I think it's worth keeping both for now, provided the run cost isn't too
great. At the moment it seems rather minimal.


> >
> > The effect of this is that the python-check-pipenv CI job on gitlab will
> > now test against much older versions of these linters, which will help
> > highlight incompatible changes that might otherwise go unnoticed.
> >
> > Update instructions for adding and bumping versions in setup.cfg. The
> > reason for deleting the line that gets added to Pipfile is largely just
> > to avoid having the version minimums specified in multiple places in
> > config checked into the tree.
> >
> > (This patch was written by deleting Pipfile and Pipfile.lock, then
> > explicitly installing each dependency manually at a specific
> > version. Then, I restored the prior Pipfile and re-ran `pipenv lock
> > --dev --keep-outdated` to re-add the qemu dependency back to the pipenv
> > environment while keeping the "old" packages. It's annoying, yes, but I
> > think the improvement to test coverage is worthwhile.)
> >
> > Signed-off-by: John Snow <jsnow@redhat.com>
> > ---
> >   python/Pipfile.lock | 113 +++++++++++++++++++++-----------------------
> >   python/setup.cfg    |   4 +-
> >   2 files changed, 56 insertions(+), 61 deletions(-)
>
> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
>

Thanks!

[-- Attachment #2: Type: text/html, Size: 3678 bytes --]

  reply	other threads:[~2021-06-28 20:39 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25 15:45 [PATCH 00/11] Python: packaging cleanups John Snow
2021-06-25 15:45 ` [PATCH 01/11] python: expose typing information via PEP 561 John Snow
2021-06-25 18:16   ` Willian Rampazzo
2021-06-28 20:11   ` Wainer dos Santos Moschetta
2021-06-28 20:28     ` John Snow
2021-06-25 15:45 ` [PATCH 02/11] python: Remove global pylint suppressions John Snow
2021-06-25 18:18   ` Willian Rampazzo
2021-06-28 20:14   ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 03/11] python: Re-lock pipenv at *oldest* supported versions John Snow
2021-06-25 18:28   ` Willian Rampazzo
2021-06-28 20:30   ` Wainer dos Santos Moschetta
2021-06-28 20:38     ` John Snow [this message]
2021-06-29 16:44       ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 04/11] python: README.rst touchups John Snow
2021-06-25 18:23   ` Willian Rampazzo
2021-06-25 18:26     ` John Snow
2021-06-28 20:35   ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 05/11] python: Add no-install usage instructions John Snow
2021-06-25 18:25   ` Willian Rampazzo
2021-06-28 20:56   ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 06/11] python: rename 'venv-check' target to 'check-pipenv' John Snow
2021-06-25 18:27   ` Willian Rampazzo
2021-06-28 21:09   ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 07/11] python: update help text for check-tox John Snow
2021-06-25 18:29   ` Willian Rampazzo
2021-06-28 21:16   ` Wainer dos Santos Moschetta
2021-06-29 15:40     ` John Snow
2021-06-29 16:45       ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 08/11] python: add 'make check-venv' invocation John Snow
2021-06-25 18:36   ` Willian Rampazzo
2021-06-25 18:38     ` John Snow
2021-06-25 19:01       ` Willian Rampazzo
2021-06-25 19:12         ` John Snow
2021-06-28 21:40   ` Wainer dos Santos Moschetta
2021-06-29 15:45     ` John Snow
2021-06-25 15:45 ` [PATCH 09/11] python: Update help text on 'make check', 'make develop' John Snow
2021-06-25 18:37   ` Willian Rampazzo
2021-06-28 21:41   ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 10/11] python: Update help text on 'make clean', 'make distclean' John Snow
2021-06-25 18:37   ` Willian Rampazzo
2021-06-28 21:44   ` Wainer dos Santos Moschetta
2021-06-25 15:45 ` [PATCH 11/11] python: remove auto-generated pyproject.toml file John Snow
2021-06-25 18:40   ` Willian Rampazzo
2021-06-28 21:48   ` Wainer dos Santos Moschetta

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='CAFn=p-bsKFmGiSACV-fTSG7F=wx3s0yLRgakP7fJEgtMOtLHgw@mail.gmail.com' \
    --to=jsnow@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@redhat.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).