project-config/tox.ini
James E. Blair a9c6b6f020 Add JJB AFS module
This adds a JJB module that validates the parameters we use for
the afs publisher.  This publisher is not an actual Jenkins
publisher and only exists in Zuul v2.5's ansible launcher.  Thus,
it has no XML output and is defined locally in this repo.

This also removes the run-layout script (which used to clone HEAD
of both jjb and zuul) in favor of installing these dependencies
via pip in the tox testenv.  We are no longer tracking JJB master,
so pinning to the version of JJB we are using makes more sense.

Similary, it is not expected that we will need cutting edge
versions of zuul for this test in the immediate future (we may
want to revisit this when we approach zuulv3).

Change-Id: I4acd70c868cb6965d39f968b7582257b4ab21778
2016-09-27 14:49:09 -07:00

110 lines
2.6 KiB
INI

[tox]
minversion = 1.6
envlist = linters,gerrit,grafyaml,jjb,jenkins-project,zuul
skipsdist = True
[testenv]
deps = -r{toxinidir}/test-requirements.txt
[testenv:linters]
commands =
{toxinidir}/tools/run-bashate.sh
flake8
[testenv:gerrit]
deps = PyYAML
GitPython
commands =
{toxinidir}/tools/check_valid_gerrit_projects.py gerrit/projects.yaml gerrit/acls
{toxinidir}/tools/check_projects_yaml_alphabetized.sh gerrit/projects.yaml
{toxinidir}/tools/check_valid_gerrit_config.sh gerrit/acls/
[testenv:venv]
commands = {posargs}
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:irc]
deps = PyYAML
irc
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:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test
[testenv:jjb]
basepython = python2.7
deps = jenkins-job-builder
whitelist_externals =
mkdir
rm
commands =
rm -rf {envdir}/tmp
mkdir -p {envdir}/tmp/jobs
pip install -U jenkins/modules/jjb_afs
jenkins-jobs -l debug test -o {envdir}/tmp/jobs jenkins/jobs
[testenv:jenkins-project]
deps =
PyYAML
voluptuous
commands =
{toxinidir}/tools/jenkins-projects-checks.py
[testenv:zuul]
basepython = python2.7
deps =
jenkins-job-builder==1.6.1
zuul
whitelist_externals =
rm
jenkins-jobs
find
commands =
rm -rf {envdir}/tmp
mkdir -p {envdir}/tmp/jobs
pip install -U jenkins/modules/jjb_afs
jenkins-jobs -l debug test -o {envdir}/tmp/jobs jenkins/jobs
bash -c 'find {envdir}/tmp/jobs -printf "%f\n" > {envdir}/tmp/job-list.txt'
zuul-server -c tools/zuul.conf-sample -l zuul/layout.yaml -t {envdir}/tmp/job-list.txt
[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:nodepool]
commands = nodepool -c {toxinidir}/nodepool/nodepool.yaml config-validate