[tox]
minversion = 1.6
envlist = linters,gerrit,grafyaml,projects,jjb,jenkins-project,zuul
skipsdist = True

[testenv]
deps = -r{toxinidir}/test-requirements.txt

[testenv:linters]
commands =
  {toxinidir}/tools/run-bashate.sh
  flake8

[testenv:gerrit]
commands =
  {toxinidir}/tools/check_valid_gerrit_config.sh gerrit/acls/

[testenv:projects]
deps = PyYAML
     GitPython
commands =
  {toxinidir}/tools/check_valid_gerrit_projects.py gerrit/projects.yaml
  {toxinidir}/tools/check_projects_yaml_alphabetized.sh gerrit/projects.yaml

[testenv:venv]
commands = {posargs}

[testenv:docs]
commands = python setup.py build_sphinx

[testenv:irc]
deps = PyYAML
     irc
     jaraco.itertools<1.6
commands =
  {toxinidir}/tools/check_irc_access.py -l accessbot/channels.yaml openstackinfra
  {toxinidir}/tools/irc_tests.py
  {toxinidir}/tools/check-channels-yaml.sh

[flake8]
show-source = True
exclude = .tox,.test
ignore = E125,H
select = H231

[testenv:grafyaml]
basepython = python2.7
commands = {toxinidir}/tools/grafyaml-validate.sh

[testenv:jjb]
basepython = python2.7
deps = jenkins-job-builder
whitelist_externals =
  mkdir
  rm
commands =
  rm -rf {envdir}/tmp
  mkdir -p {envdir}/tmp
  jenkins-jobs -l debug test -o {envdir}/tmp jenkins/jobs

[testenv:jenkins-project]
deps =
   PyYAML
   voluptuous
commands =
  {toxinidir}/tools/jenkins-projects-checks.py

[testenv:zuul]
basepython = python2.7
deps = PyYAML
commands =
  {toxinidir}/tools/run-layout.sh
  {toxinidir}/tools/layout-checks.py

[testenv:infra-docs]
deps =
   Jinja2
   PyYAML
commands = {toxinidir}/docs-site/generate_infra_index.py {toxinidir}/docs-site/infra-documents.yaml

[testenv:specs]
deps =
   Jinja2
   PyYAML
commands = {toxinidir}/specs/generate_specs_site.py {toxinidir}/specs/specs.yaml

[testenv:dib]
deps =
   diskimage-builder
changedir = {toxinidir}/nodepool
commands = dib-lint

[testenv:renames]
deps = PyYAML
       six
commands =
  {toxinidir}/tools/tests/mass_rename_projects_unit_test.py

[testenv:nodepool]
commands = nodepool -c {toxinidir}/nodepool/nodepool.yaml config-validate