Added doc8 for specs validation

In this patchset I introduce doc8 as a new tool to validate the
layout of our specs.

Change-Id: Ie3150140fdc80d5e208d70d521371e7bffa5ba1d
This commit is contained in:
Vincent Francoise 2016-03-17 15:19:32 +01:00
parent bf2de9d42e
commit c5e776c8cb
5 changed files with 23 additions and 13 deletions

View File

@ -6,10 +6,10 @@ Watcher Specifications
====================== ======================
This git repository is used to hold approved design specifications for additions This git repository is used to hold approved design specifications for
to the Watcher project. Reviews of the specs are done in gerrit, using a additions to the Watcher project. Reviews of the specs are done in gerrit,
similar workflow to how we review and merge changes to the code itself. For using a similar workflow to how we review and merge changes to the code itself.
specific policies around specification review, refer to the end of this For specific policies around specification review, refer to the end of this
document. document.
The layout of this repository is:: The layout of this repository is::
@ -112,11 +112,15 @@ was previously approved but not implemented (or not completely implemented),
then you must seek re-approval for the specification. You can re-propose your then you must seek re-approval for the specification. You can re-propose your
specification by doing the following: specification by doing the following:
* Copy (not move) your specification to the right directory for the current release. * Copy (not move) your specification to the right directory for the current
release.
* Update the document to comply with the new template. * Update the document to comply with the new template.
* If there are no functional changes to the specification (only template changes) then add the `Previously-approved: <release>` tag to your commit message. * If there are no functional changes to the specification (only template
changes) then add the `Previously-approved: <release>` tag to your commit
message.
* Send for review. * Send for review.
* watcher-specs-core will merge specifications which meet these requirements with a single +2. * watcher-specs-core will merge specifications which meet these requirements
with a single +2.
Specifications which depend on merging code in other OpenStack projects Specifications which depend on merging code in other OpenStack projects
----------------------------------------------------------------------- -----------------------------------------------------------------------

View File

@ -27,7 +27,8 @@ Here you can find the specs, and spec template, for each release:
specs/mitaka/index specs/mitaka/index
There are also some approved backlog specifications that are looking for owners: There are also some approved backlog specifications that are looking for
owners:
.. toctree:: .. toctree::
:glob: :glob:

View File

@ -4,3 +4,4 @@ sphinx>=1.1.2,<1.2
testrepository>=0.0.18 testrepository>=0.0.18
testtools>=0.9.34 testtools>=0.9.34
yasfb>=0.5.1 yasfb>=0.5.1
doc8 # Apache-2.0

View File

@ -12,6 +12,7 @@ classifier =
Operating System :: POSIX :: Linux Operating System :: POSIX :: Linux
[build_sphinx] [build_sphinx]
fresh_env = 1
all_files = 1 all_files = 1
build-dir = doc/build build-dir = doc/build
source-dir = doc/source source-dir = doc/source

13
tox.ini
View File

@ -12,21 +12,24 @@ install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt
whitelist_externals = find whitelist_externals = find
commands = commands =
find . -type f -name "*.pyc" -delete find . -type f -name "*.pyc" -delete
python setup.py testr --slowest --testr-args='{posargs}' python setup.py testr --slowest --testr-args='{posargs}'
[testenv:venv] [testenv:venv]
commands = {posargs} commands = {posargs}
[testenv:docs] [testenv:docs]
setenv = PYTHONHASHSEED=0
commands = commands =
find . -type f -name "*.pyc" -delete find . -type f -name "*.pyc" -delete
python setup.py build_sphinx doc8 doc/source/ README.rst
python setup.py build_sphinx
[testenv:pep8] [testenv:pep8]
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = commands =
flake8 {posargs} doc8 doc/source/ README.rst
flake8 {posargs}
[flake8] [flake8]
ignore = E128 ignore = E128