Convert zuul-sphinx to nox

Zuul projects are moving from tox to nox due to incompatibilities in
tox v4. This updates zuul-sphinx to nox.

Change-Id: Iccd3c36620ae452c81e9c317a7b2d73fd2061ced
This commit is contained in:
Clark Boylan 2022-12-29 11:02:14 -08:00
parent 2272117b40
commit 9f8accfdad
4 changed files with 62 additions and 11 deletions

View File

@ -4,14 +4,14 @@
release_python: python3
check:
jobs:
- zuul-tox-docs
- zuul-nox-docs
gate:
jobs:
- zuul-tox-docs
- zuul-nox-docs
promote:
jobs:
- zuul-promote-docs
- zuul-promote-nox-docs
release:
jobs:
- zuul-publish-tox-docs
- zuul-publish-nox-docs
- zuul-release-python

51
noxfile.py Normal file
View File

@ -0,0 +1,51 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import nox
nox.options.error_on_external_run = True
nox.options.reuse_existing_virtualenvs = True
nox.options.sessions = ["linters"]
@nox.session(python='3')
def bindep(session):
session.install('bindep')
session.run('bindep', 'test')
@nox.session(python='3')
def docs(session):
session.install('-r', 'doc/requirements.txt',
'-r', 'test-requirements.txt')
session.install('-e', '.')
session.run('sphinx-build', '-E', '-W', '-d', 'doc/build/doctrees',
'-b', 'html', 'doc/source/', 'doc/build/html')
@nox.session(python='3')
def linters(session):
session.install('-r', 'requirements.txt',
'-r', 'test-requirements.txt')
session.install('flake8')
session.run('flake8', *session.posargs)
session.run('bash', '-c', '"cd roles; find . -type f -regex '
'\'.*.y[a]?ml\' -print0 | xargs -t -n1 -0 ansible-lint"')
@nox.session(python='3')
def venv(session):
session.install('-r', 'requirements.txt',
'-r', 'test-requirements.txt')
session.install('-e', '.')
session.run(*session.posargs)

View File

@ -25,3 +25,10 @@ all-files = 1
warning-is-error = 1
source-dir = doc/source
build-dir = doc/build
[flake8]
# These are ignored intentionally in openstack-infra projects;
# please don't submit patches that solely correct them or enable them.
ignore = E125,E129,H
show-source = True
exclude = .venv,.tox,.nox,dist,doc,build,*.egg

View File

@ -36,10 +36,3 @@ commands =
[testenv:venv]
commands = {posargs}
[flake8]
# These are ignored intentionally in openstack-infra projects;
# please don't submit patches that solely correct them or enable them.
ignore = E125,E129,H
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg