magnum-ui/tox.ini
Akihiro Motoki 9190e35dc6 Add python3 django 1.11 job instead of django 2.0 job
Django 2.0 is now used in tox py35 job, so there is no need for
py35dj20 job. Instead, Django 1.11 with python3 is not covered.

- py35dj20 job is dropped from tox.ini.
- python3-django111 is added to tox.ini.
  python3 is specified to basepython to avoid a specific python version.
- .zuul.yaml is updated to consume horizon-openstack-tox-python3-django111
  and drop horizon-openstack-tox-py35dj20.

Change-Id: Ib6f271d9cc8446875d6284a1f7d9f17aab90c47c
2018-06-13 19:30:57 +09:00

140 lines
3.6 KiB
INI

[tox]
envlist = pep8,py27-local,py35-local,py3-dj111-local,eslint,karma-local,docs-local,releasenotes,lower-constraints-local
minversion = 2.3.2
skipsdist = True
[testenv]
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
NOSE_WITH_OPENSTACK=1
NOSE_OPENSTACK_COLOR=1
NOSE_OPENSTACK_RED=0.05
NOSE_OPENSTACK_YELLOW=0.025
NOSE_OPENSTACK_SHOW_ELAPSED=1
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
python manage.py test {posargs} --settings=magnum_ui.test.settings
# For installation of horizon on local
# NOTICE: this tox.ini requires horizon repository cloned in sibling directory.
[testenv:hz-local]
commands =
pip install -e ../horizon
[testenv:venv]
commands = {posargs}
[testenv:pep8]
basepython = python3.5
commands = flake8 {posargs}
[flake8]
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,panel_template,dash_template,local_settings.py,*/local/*,*/test/test_plugins/*,.ropeproject,node_modules
max-complexity = 20
[testenv:cover]
commands =
coverage erase
coverage run {toxinidir}/manage.py test magnum_ui --settings=magnum_ui.test.settings {posargs} --exclude-dir=magnum_ui/test/integration_tests {posargs}
coverage xml --omit '.tox/cover/*' -o 'cover/coverage.xml'
coverage html --omit '.tox/cover/*' -d 'cover/htmlcov'
# NOTE(shu-mutow): On CI infra, horizon will be installed
# according to job setting. but on local, we need to install
# horizon from master branch.
[testenv:py27]
basepython = python2.7
[testenv:py27-local]
basepython = python2.7
commands =
{[testenv:hz-local]commands}
{[testenv]commands}
[testenv:py35-local]
basepython = python3.5
commands =
{[testenv:hz-local]commands}
{[testenv]commands}
[testenv:py3-dj111]
basepython = python3
commands =
pip install django>=1.11,<2
{[testenv]commands}
[testenv:py3-dj111-local]
basepython = python3
commands =
{[testenv:hz-local]commands}
pip install django>=1.11,<2
{[testenv]commands}
[testenv:eslint]
basepython = python3.5
whitelist_externals =
npm
commands =
npm install
npm run lint
# NOTE(shu-mutow): The "postinstall" script on package.json will install horizon
# from master branch into karma environment with py35 for testing javascripts.
# Horizon from master is needed to be cloned into ../horizon on both local and CI.
[testenv:karma]
basepython = python3.5
whitelist_externals =
{[testenv:eslint]whitelist_externals}
commands =
npm install
npm run test
[testenv:karma-local]
basepython = python3.5
whitelist_externals =
{[testenv:eslint]whitelist_externals}
commands =
{[testenv:karma]commands}
[testenv:docs]
basepython = python3.5
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands=
sphinx-build -W -b html doc/source doc/build/html
[testenv:docs-local]
basepython = python3.5
deps =
{[testenv:docs]deps}
commands=
{[testenv:hz-local]commands}
{[testenv:docs]commands}
[testenv:releasenotes]
basepython = python3.5
deps =
{[testenv:docs]deps}
commands =
sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:lower-constraints-local]
basepython = python3
deps =
{[testenv:lower-constraints]deps}
commands =
{[testenv:hz-local]commands}
{[testenv]commands}