project-config/tox.ini
Doug Hellmann 7ab3387080 validate service types used for documentation jobs
We want the service type use to be consistent across all of the various
repos where we refer to it. This patch adds validation to ensure that
service types associated with jobs for repositories match the service
types assigned by the registry.

In the process, it also changes the job definitions for some of the
projects that were publishing to the "wrong" location. A separate patch
will establish redirects from the old locations to the new locations.

Some of the projects were not listed in the registry at all, so this
patch depends on other patches that add the missing entries.

The validation class defined here will eventually move to the
os-service-types library, when that repository is ready to receive code.

Change-Id: I2785ca8782b592c7af574e0b5a41407610873349
Depends-On: I27765d7760352f4c589168037ddd2e6792d1561f
Depends-On: Ie530edd8aa40e5b89f997526e68117cafa68ee9c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-14 14:24:47 -04:00

117 lines
2.8 KiB
INI

[tox]
minversion = 1.6
envlist = linters,gerrit,grafyaml,jjb,jenkins-project,zuul
skipsdist = True
[testenv]
deps = -r{toxinidir}/test-requirements.txt
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[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/
{toxinidir}/tools/check_gerrit_projects_changed.sh
[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
jenkins-job-builder
requests
commands =
{toxinidir}/tools/jenkins-projects-checks.py
[testenv:zuul]
basepython = python2.7
deps =
jenkins-job-builder==1.6.1
zuul
whitelist_externals =
bash
find
jenkins-jobs
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
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
{toxinidir}/tools/layout-checks.py {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 = env ELEMENTS_DIR=elements dib-lint
[testenv:nodepool]
commands = nodepool -c {toxinidir}/nodepool/nodepool.yaml config-validate