In I26be542a6d4f6266f7843ada5939172656b8b847 the documentation domain
was renamed to zuuldoc as a "temporary measure" :)
The zuul-sphinx project now has everything required for the Zuul
documentation, so we can switch the default domain to just "zuul" to
use it by default and remove the unsued "zuuldocs" domain provided by
zuul/sphinux/zuul.py.
This means you don't need to use :zuul:... to use things from
zuul-sphinx (this was rather confusing to debug, as we added :type:
support to :attr: some time ago in zuul-sphinx but it wasn't being
picked up, because it was using old internal versions).
Change-Id: I4f7a52a2d09671f042e2d6886e7916274f3ed931
This renames the internal sphinx domain from zuul to zuuldoc. This
is a temporary measure to avoid colliding with the domain defined
in zuul-sphinx (because of the initial data required, it's not
easy for us to simply add new directives/roles without at least
porting *some* of the framework into zuul-sphinx).
I expect to do that when this has stabilized.
Change-Id: I26be542a6d4f6266f7843ada5939172656b8b847
Depends-On: I8a1534f7c2614ee11411cf228de38931257fc970
The rtfd hook job just does an empty POST to a URI. There's no need to
allocate a node for that, we can just make REST calls from the executor.
Also, there is enough going on here that it needs to be documented. Add
a documentation section to the developer docs about what we're doing
with our ansible plugins. In support of that, add a simple sphinx domain
for ansible to allow us to easily link to upstream ansible documentation for
modules.
Change-Id: I9b0be1018388db7361aec10f30a70437de555615
When we use zuul:value to xref, the default title text for the link
is the full target name (eg "pipeline.trigger.github.event.pull_request")
which is a bit verbose. Normally, we would just want the final element
as the title for a value (so a sentence might read "When a <pull_request>
event is received...").
Change-Id: I42cd678d9bb97058d5fbe255791cbc476d5057bb
This adds a directive (and role) for zuul variables, which also
have a complex hierarchy like configuration values.
The type field may be used to cause, for example, 'items' to render
as 'items[]' to remind users that they must provide an index. It
is ignored for the purposes of the cross-reference role, indices,
and link targets.
Change-Id: I674b17d8257c501cfc5c2f29f2aab9804e9ec846
This lets us specify the default as part of the "signature" for
each of the attributes. This helps standardize information about
default values and avoid needing to incorporate it into the text
description of each attribute.
Standardize on lowercase representation of booleans.
Change-Id: I4892b579545dd459fa877feb3014c4c4f2ced2eb
And make the zuul:configobject directive produce an actual node
so that links to it work as expected.
Change-Id: I8c4222b23a2d1f67eee23a6b70f4669277ca4dcd
The keywords 'independent' and 'dependent' for pipeline.manager
shouldn't actually have the yaml path prefix on them -- they are
literal values which should appear in the pipeline.manager dict.
It suggested that the syntax was:
pipeline:
manager: pipeline.manager.dependent
rather than the correct:
pipeline:
manager: dependent
Change-Id: I7885f5769c2faabc9ea845493e6bab9835e87b8c
We need to be able to link to configuration attributes, and they
should show up in the index. To that end, add some sphinx
directives to support config objects and attributes. These handle
nesting so that when we get deep into nested yaml (eg,
pipeline.trigger.gerrit.event) the full path will appear in the
header for the attribute. The ancestors will not be as prominent.
This ends up looking like the python class.FUNCTION() headers
in the stdlib docs.
The implementation is based on, and is compatible with, the nascent
zuul-sphinx module. Once that is published, we can either move
this code into that module, or depend on that module and add these
directives to the domain it creates.
The sphinx theme is changed to the current Sphinx default. That
is the theme "alabaster" (note, this is distinct from the theme
named "default", which is the old python2 style theme). Alabaster
has top-notch typography, and most importantly, it renders the
kinds of nested descriptors we're using very well.
Change-Id: I673b20849dd808e8fbff33fa1a7524227d1a6011