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