Merge "Add per-build tasks to Contrib guide"

This commit is contained in:
Zuul 2023-03-15 19:51:39 +00:00 committed by Gerrit Code Review
commit dac7b89c00

View File

@ -1199,3 +1199,150 @@ Example RST:
Integer sed tortor nisi. Vivamus feugiat, urna in posuere gravida, ligula Integer sed tortor nisi. Vivamus feugiat, urna in posuere gravida, ligula
nunc hendrerit magna, nec tristique ex tortor non lorem. nunc hendrerit magna, nec tristique ex tortor non lorem.
------------------
Release activities
------------------
Several activies must be completed in preparation for each release.
*********************
Release notes updates
*********************
Various sections in the |prod| release notes must be updated on the ``master``
branch before the release branch for the upcoming release (for example
``r/stx.9.0``) is created.
The Release notes can be found in the directory
:file:`doc/source/releasenotes`.
**********************
Version number updates
**********************
Product and related software version numbers must be updated throughout the
source :file:`rst` files.
* Some of these changes must me made manually by searching for and replacing
the appropriate values.
* More common version values are implemented as Sphinx substitutions: simple,
reusable placeholders.
* For the current version of |prod|, edit the value of ``this-ver`` in the
file :file:`doc/source/_this.txt`.
.. code-block::
.. |this-ver| replace:: r9.0
* For other values, consult the file
:file:`doc/source/_vendor/vendor_strings.txt`.
********************
Version menu updates
********************
A menu is available on each page of |prod| documentation to allow easy
switching between documentation versions. This menu must be updated on
``master`` and each release branch.
To do so:
#. On a working branch, open the file :file:`doc/source/conf.py`.
#. If you are updating on a new branch, change the configuration assignment
``starlingxdocs_plus_this_version`` to the name of the new branch.
For example:
.. code-block::
starlingxdocs_plus_this_version="Version 9.0"
Otherwise, confirm that the value is correct for the branch you are
updating.
#. Locate the configuration assignment ``starlingxdocs_plus_other_versions``.
This assignment takes a *key,value* pair for each branch other than the
branch you are configuring.
* Each key is the name of the branch that will appear in the menu.
* Each value is the name of the branch.
For example, if you are editing :file:`conf.py` on the branch ``r/stx.7.0``,
then this assignment would container a key pair for each of
``r/stx.6.0``, ``r/stx.8.0``, ``<newer-release>`` ..., and ``master``.
These pairs are separated by commas and must be listed from oldest to most
recent, always ending with the ``master`` branch. The *key* for the
``master`` branch is ``Latest``.
For example, for release 9.0, the ``r/stx.9.0`` version of this file would
have this assignment:
.. code-block::
starlingxdocs_plus_other_versions = [("Version 6.0","r/stx.6.0"),("Version 7.0","r/stx.7.0"),("Version 8.0","r/stx.8.0"),("Latest","")]
.. note::
During a documentation build, Sphinx prepends a forward slash to each
*value* in ``starlingxdocs_plus_other_versions`` to construct the correct
URLs, such as ``https://docs.starlingx.io/r/stx.8.0/``. Since the
``master`` documentation is at the base URL ``docs.startlingx.io``, this
means that the value must be an empty string, as show above.
*********************
Adding the promte job
*********************
A ``promote`` job must be created for merged reviews on a new release branch to
be published to docs.starlingx.io.
.. rubric:: |prereq|
You must have the OpenStack ``project-config`` repo available.
.. rubric:: |proc|
#. In the ``project-config`` repo, open the file
:file:`zuul.d/starlingx-jobs.yaml`.
#. Locate the ``promote-stx-tox-docs-site`` job.
#. Add the new branch to the list of branches that will be published.
For example:
.. code-block:: yaml
:emphasize-lines: 21
- job:
name: promote-stx-tox-docs-site
parent: opendev-promote-docs-base
description: |
Promote content from openstack-tox-docs job for
starlingx/doc repository only.
Publish the results of a sphinx build to
/afs/.openstack.org/project/starlingx.io/www
final: true
vars:
download_artifact_job: openstack-tox-docs
# add older release branches as desired
branches:
- master
- r/stx.5.0
- r/stx.6.0
- r/stx.7.0
- r/stx.8.0
- r/stx.9.0
#. Save the file and commit a gerrit review.
See https://review.opendev.org/c/openstack/project-config/+/873266 for a
sample promote job update with reviewers.