On Tue, Jun 8, 2021, at 10:39 AM, Stephen J. Turnbull wrote:
> I'm fiddling with my Python installations and noticed this:
> 
> steve Mailman/pristine 1:19 % grep envlist */tox.ini
> django-mailman3/tox.ini:envlist = py{37,38,39}-django{21,22,30,31},lint
> hyperkitty/tox.ini:envlist = py{36,37,38,39}-django{22,30,31},docs,lint
> mailman-hyperkitty/tox.ini:envlist = {py35,py36,py37}{,-coverage},lint
> mailman-web/tox.ini:envlist = docs
> mailman/tox.ini:envlist = {py35,py36,py37}-{nocov,cov,diffcov}{,-mysql,-pg},qa
> mailmanclient/tox.ini:envlist = py{35,36,37,38},lint
> postorius/tox.ini:envlist = py{35,36,37}-django{111,20,latest},pep8

So, envlist doesn't really represent the list of supported versions. For that, 
you want to look at the .gitlab-ci.yaml in each repo, which is the source of 
truth for what we run CI on. It is a manually co-ordinated thing though, so we 
have to open PRs to each repo to add/remove and the list of envs vary on each 
project.

envlist  represent the exact list of env that will be used if you run `tox`, 
but usually I just do `tox -e <envname>` and this works even for Python 
versions not in the envlist. I have been considering putting just one latest 
Python version in envlist so I can just do `tox` to run the test suite once and 
use the explicit `-e` flag for CI, which we already do.

> We should do something about coordinating on supported versions, no?

We should, yes. I am trying to to figure out if I can define the CI definition 
in a single repo and have that used in all the Mailman projects.  Haven't had 
time to figure that out yet :( Github Actions provides a good way to share CI 
configs, maybe Gitlab has some way too!

> Also, coordinating common factors (cov vs coverage, pep8 vs lint vs qa)?

envlist is out-of-date but I think it is still different in separate repos. 
Would be good to unify them and figure out an automated way to keep them in 
sync.

> Also, the djangolatest environment for postorius looks broken (but I
> don't understand tox that well):
> 
>     django-latest: https://github.com/django/django/archive/main.tar.gz

This is a very fun one actually, I have been trying to think of how to fix 
this. The version of Django-latest is > one supported (in setup.py) by P. 
Previously, `pip` would happily install it if the Django was installed before 
the project, but it has gotten smart and started failing installs if it cannot 
satisfy dependency constraints. In this case, it can't actually satisfy the 
constraints until we update setup.py to support the _next_ version of Django. 

I don't know how to fix this, other than patching setup.py in django-latest job 
to remove the version constraint.

> Also, shouldn't every subproject support docs?

Yes, but there aren't any docs in django-mailman3 and mailman-hyperkitty. I 
have been putting the changelog in README for django-mailman3, didn't seem 
worth setting up a RTD project just for changelog.  All others have docs jobs 
and publish to Read the docs.

> 
> Steve
> 
> _______________________________________________
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
> 


-- 
  thanks,
  Abhilash Raj (maxking)
_______________________________________________
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9

Reply via email to