horizon/.zuul.d/django-jobs.yaml
Akihiro Motoki 9d1bb3626b Allow both Django 2.2 and 3.2 for smooth transition
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
2021-10-26 09:57:06 +09:00

47 lines
1.3 KiB
YAML

- job:
name: horizon-tox-python3-django
abstract: true
parent: horizon-openstack-tox-base
description: |
Run tox with different Django version.
.. zuul:jobvar: tox_envlist
Which tox environment to run
.. zuul:jobvar: django_version
Django version to be used.
pip version specifier like ``>=1.11,<2.0`` should be passed.
pre-run: playbooks/horizon-tox-django/pre.yaml
run: playbooks/horizon-tox-django/run.yaml
vars:
tox_envlist: py38
required-projects:
- name: openstack/horizon
- job:
name: horizon-tox-python3-django32
parent: horizon-tox-python3-django
vars:
django_version: '>=3.2,<3.3'
- project-template:
name: horizon-non-primary-django-jobs
description: |
Run unit tests with non-primary Django versions.
check:
jobs:
# Currently we only support Django 2.2, so there is no need
# to run tests with different versions of Django.
# We specify a job in openstack-python3-yoga-jobs(-horizon)
# to keep this project template as it is used in horizon plugins.
# NOTE: We keep it as a template even though it is not used now.
- openstack-tox-py38
- horizon-tox-python3-django32
gate:
jobs:
- openstack-tox-py38
- horizon-tox-python3-django32