Shu Muto d6a59f8f80 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.
- py3-dj111 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.

Also, change basepython from python3.5 to python3 for docs and js jobs.

Change-Id: I04d3d4c3520150293951fb5e09e7d4513a1ca1ca
2018-06-22 14:37:38 +09:00

124 lines
3.3 KiB
INI

[tox]
envlist = pep8,py27-local,py35-local,py3-dj111-local,eslint,karma-local,docs-local,releasenotes
minversion = 2.3.2
skipsdist = True
[testenv]
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
BRANCH_NAME=master
CLIENT_NAME={{cookiecutter.repo_name}}
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={{cookiecutter.module_name}}.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
commands = flake8 {posargs}
[flake8]
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,node_modules
max-complexity = 20
[testenv:cover]
basepython = python3
commands =
coverage erase
coverage run {toxinidir}/manage.py test {{cookiecutter.module_name}} --settings={{cookiecutter.module_name}}.test.settings {posargs} --exclude-dir={{cookiecutter.module_name}}/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-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
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 py35 environment for testing javascripts.
# Horizon from master is needed to be cloned into ../horizon on both local and CI.
[testenv:karma]
basepython = python3
whitelist_externals =
{[testenv:eslint]whitelist_externals}
commands =
npm install
npm run test
[testenv:karma-local]
basepython = python3
whitelist_externals =
{[testenv:eslint]whitelist_externals}
commands =
{[testenv:karma]commands}
[testenv:docs]
basepython = python3
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
deps =
{[testenv:docs]deps}
commands=
{[testenv:hz-local]commands}
{[testenv:docs]commands}
[testenv:releasenotes]
basepython = python3
deps =
{[testenv:docs]deps}
commands =
sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html