From 7980519eb18bc92671538a05a9f7c35355076999 Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Tue, 17 Nov 2020 12:42:34 -0500 Subject: [PATCH] Bootstrap testing for project Change-Id: Ie2293fa34d5f087d669a662570053d09024a6e72 Signed-off-by: Paul Belanger --- .gitignore | 4 +++ .yamllint | 14 +++++++++ .zuul.yaml | 8 +++++ README.rst | 51 ++++++++++++++++++++++++++++++ doc/requirements.txt | 7 +++++ doc/source/conf.py | 73 +++++++++++++++++++++++++++++++++++++++++++ doc/source/index.rst | 1 + requirements.txt | 1 + test-requirements.txt | 1 + tox.ini | 32 +++++++++++++++++++ 10 files changed, 192 insertions(+) create mode 100644 .gitignore create mode 100644 .yamllint create mode 100644 .zuul.yaml create mode 100644 README.rst create mode 100644 doc/requirements.txt create mode 100755 doc/source/conf.py create mode 100644 doc/source/index.rst create mode 100644 requirements.txt create mode 100644 test-requirements.txt create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7279786 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.tox/ +AUTHORS +ChangeLog +doc/build/ diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..6f0d12b --- /dev/null +++ b/.yamllint @@ -0,0 +1,14 @@ +--- +extends: default + +ignore: | + .tox + +rules: + braces: + max-spaces-inside: 1 + level: error + brackets: + max-spaces-inside: 1 + level: error + line-length: disable diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..82bc2d5 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,8 @@ +--- +- project: + check: + jobs: + - tox-linters + gate: + jobs: + - tox-linters diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..679d5aa --- /dev/null +++ b/README.rst @@ -0,0 +1,51 @@ +========================== +ansible-role-zuul-registry +========================== + +Ansible role to manage zuul-registry + +* License: Apache License, Version 2.0 +* Documentation: https://ansible-role-zuul-registry.readthedocs.org +* Source: https://opendev.org/windmill/ansible-role-zuul-registry +* Bugs: https://bugs.launchpad.net/ansible-role-zuul-registry + +Description +----------- + +This is a container image registry for use with the Zuul project gating system. + +The defining feature of this registry is support for shadowing images: it +allows you to upload a local version of an image to use instead of an upstream +version. If you pull an image from this registry, it will provide the local +version if it exists, or the upstream if it does not. + +Requirements +------------ + +* pip3 to be installed if using zuul_registry_install_method: (git|pip) + +Packages +~~~~~~~~ + +Package repository index files should be up to date before using this role, we +do not manage them. + +Role Variables +-------------- + +.. literalinclude:: ../../defaults/main.yaml + :language: yaml + :start-after: under the License. + +Dependencies +------------ + +Example Playbook +---------------- + +.. code-block:: yaml + + - name: Install zuul-registry + hosts: zuul-registry + roles: + - ansible-role-zuul-registry diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 0000000..1f3277f --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,7 @@ +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. + +# this is required for the docs build jobs +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD +doc8>=0.6.0 # Apache-2.0 diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100755 index 0000000..b2d49ed --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +# 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 os +import sys + +sys.path.insert(0, os.path.abspath('../..')) +# -- General configuration ---------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ + 'sphinx.ext.autodoc', +] + +# autodoc generation is a bit aggressive and a nuisance when doing heavy +# text edit cycles. +# execute "export SPHINX_DEBUG=1" in your terminal to disable + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'ansible-role-zuul-registry' +copyright = u'2013, OpenStack Foundation' + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = True + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# -- Options for HTML output -------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +# html_theme_path = ["."] +# html_theme = '_theme' +# html_static_path = ['static'] + +# Output file base name for HTML help builder. +htmlhelp_basename = '%sdoc' % project + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass +# [howto/manual]). +latex_documents = [ + ('index', + '%s.tex' % project, + u'%s Documentation' % project, + u'OpenStack Foundation', 'manual'), +] + +# Example configuration for intersphinx: refer to the Python standard library. +# intersphinx_mapping = {'http://docs.python.org/': None} diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..a6210d3 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1 @@ +.. include:: ../../README.rst diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f3a3f52 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +ansible>=2.4.0 diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..b2c729c --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +yamllint diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..8ed63c5 --- /dev/null +++ b/tox.ini @@ -0,0 +1,32 @@ +[tox] +minversion = 1.4.2 +envlist = docs,linters +skipsdist = True + +[testenv] +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +[testenv:docs] +deps = -r{toxinidir}/doc/requirements.txt +whitelist_externals = + bash +commands= + bash -c "rm -rf doc/build" + doc8 doc + sphinx-build -b html doc/source doc/build/html + +[testenv:venv] +commands = {posargs} + +[flake8] +# E123, E125 skipped as they are invalid PEP-8. + +show-source = True +ignore = E123,E125 +builtins = _ +exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build + +[testenv:linters] +commands = + yamllint -s .