With migration from ubuntu jammy to noble, python3.11 is not available
anymore. This makes the job to fail on pre-install step.
So let's use Python 3.12 which is available out of the box on Noble
after switch.
This also bumps pylint version, as older one does not work
anymore with Python 3.12. New pylint brings quite some new
rules with it. Some were disabled, some were fixed within this
patch.
Change-Id: I4ba288966c582910e8a822d4531e29c9c005e48f
horizon now supports Django 4.2 version. So
this patch make ""horizon-tox-python3-django42" job
as voting.
Change-Id: I09e50fdede1003fe9a94d129dffe03d224e52e50
Django 4.2 is our primary version in 2023.2 (Caracal),
so we need to start testing with Django 4.2.
Once all unit tests work, let's switch it to voting.
PYTHONWARNINGS in tox.ini is also simplified. We had three similar
variants of PYTHONWARNINGS in tox.ini. There is no need to use a
different value for py3 and py39 as we already use py39 by default.
PendingDeprecationWarning was added to hide Django deprecation
warnings, so I keep it now. On the other hand I think we should
handle Django deprecation warnings much earlier to sync Django
releases more promptly, so TODO comment is added.
Change-Id: I530be8fde637a912968b4ce7dbc94a4108dc50df
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: I57d369e1e1a84a2685e3eb157699e1262c996400
Django 2.2 support was dropped. Django 2.2 ends its extended support
in April 2022[1]. Considering this, horizon dropped Django 2.2 support
and use Django 3.2 as default version of Django.
It also updates the python version from py38 to py39 for
"horizon-non-primary-django-jobs" and
"horizon-tox-python3-django" project template because py36
and py39 are now runtime for the Yoga cycle[2]. So I have updated it to
py39.
[1] https://www.djangoproject.com/download/
[2] https://review.opendev.org/c/openstack/governance/+/820195
Change-Id: I8886f12f7e51b721ac5123070086d5dcfefe4e72
I believe we need the following steps and it is what I did in past
when we bump the Django minimum version.
1. (already done) update global-requirements.txt to allow horizon to
update requirements.txt to include Django 3.2.
2. specify the required Django version which includes both 2.2 and 3.2
(at this point upper-constraints uses 2.2)
3. update upper-constraints.txt in the requirements repo to use Django 3.2
4. bump the min version of Django in horizon
(optionally) update non-primary-django tests to include non-primary versions of
Django. It seems you drops 2.2 support together when we support 3.2, so perhaps
this step is not the case though.
https://review.opendev.org/c/openstack/horizon/+/811412 directly updated
the min version to Django 3.2 which is incompatible with the global
upper-constraints.txt.
To avoid this, https://review.opendev.org/c/openstack/horizon/+/815206 made
almost all tests non-voting. I am not a fan of such approach and believe
there is a way to make the transition of Django version more smoothly.
---
This commit reverts the zuul configuration changes in
https://review.opendev.org/c/openstack/horizon/+/815206 and
https://review.opendev.org/c/openstack/horizon/+/811412.
horizon-tox-python3-django32 is voting now as we are making it
the default version.
Change-Id: I60bb672ef1b197e657a8b3bd86d07464bcb1759f
This patch update Django version to the current LTS version i.e. 3.2.
Django 2.2 is going to end its extended support by April 2022[1].
horizon and all its plugins already support Django3.2 version, So
let's make this the default version. It also bump few other packages
version in lower-constraints.txt to make it work with Django 3.2.
Note: It also change 'openstack-tox-py38' job to non-voting
which I will revert in follow-up patch once this patch is merged.
[1] https://www.djangoproject.com/download/
Change-Id: I49e323b76ad2c2e680c3f133d0f219d850f7908c
This commit adds a non-voting unit test job with Django 3.2.
Jobs with Django 3.0 and 3.1 are dropped now.
They were introduced before Django 3.2 was released.
Django 3.0 reached EOL and Django 3.1 will reach EOL this December.
Django 3.2 is an LTS version so testing with Django 3.2 is enough.
Change-Id: Ic6ba0ea281b287b7f4762f92e2e81a6fd654da8f
This commit enables non-voting unit test jobs with Django 3.0/3.1.
PendingDeprecationWarning is added to PYTHONWARNINGS in tox.ini.
PendingDeprecationWarning in Django 3.0+ includes deprecation warnings
on what will be dropped in Django 4.0 and they cannot be addressed
as long as we use Django 2.2.
Change-Id: I44e511ddc1d93fc3e2b68393b88c5f2cd1360854