TITLE | P02: Create documentation for an ONAP release (ONAP project teams) |
SUBJECT | Procedure #02 describes the required tasks which must be performed by ONAP project teams to create their release-specific documentation for an ONAP main and maintenance release. |
TARGET AUDIENCE | ONAP project teams: Maintainers of project repository |
RELEASE RELEVANCE | 11.x.x 'Kohn' |
TABLE OF CONTENTS | |
AUTHOR(S) | |
NOTES | Not every step within a single task is listed. For example, common tasks like 'git' operations (e.g. add, remove, commit, review) are not included. Jira or Gerrit activities (e.g. review, submit, cherry-pick) related to file changes are also not listed. A development environment to write and preview reStructuredText is prerequisite. The following tasks may have a different relevance depending on the type of release (main, maintenance) you are working on. Optional tasks for a maintenance release marked as 'maintenance (opt)'. They are expected to be performed only if you need to fix issues or you have to incorporate smaller changes. The placeholder '{release}' needs to be substituted by the name of the new release, e.g. 'istanbul' or 'jakarta'. Beginning with the 'jakarta' release a project/repository contributing to the documentation of the release needs to create a release branch in any case. Otherwise the project/repository will not be included. |
EXAMPLE CONFIGS | Together with the 'doc' repository we are providing basic 'tox', 'sphinx' and ReadTheDocs example configuration files to be used by other ONAP projects (except 'doc'). The files are:
Always check that the configuration files used in your repository are in sync with the provided examples. The example configs of course can be extended to fulfill specific needs of other ONAP projects. Please note README.md for the details. 'examples' directory of 'doc' repository (master): |
1.0 | MASTER BRANCH PREPARATION |
1.1 | Create a new Jira tasks and use the ID for all upcoming changesRELEASE: main + maintenance BRANCH: not applicable FILE: n/a DESCR: Please follow the instructions below.
|
1.2 | Clone 'master' branch of your repository to your local development environmentRELEASE: main + maintenance BRANCH: 'master' FILE: all DESCR: Please use the command below.
Now you can start to modify files in the 'master' branch. |
2.0 | MASTER BRANCH UPDATES |
2.1 | Set correct 'defaultbranch' in '.gitreview'RELEASE: main BRANCH: 'master' FILE: {repository}/.gitreview DESCR: Add/update the 'defaultbranch' entry ('defaultbranch=master'). This can help to avoid that changes are accidentally committed or even published to a wrong branch. Add/update the 'project' entry to show the name of your project. EXAMPLE: active '.gitreview' for 'master' branch, 'doc' project
|
2.2 | Update Sphinx configuration file 'conf.py'RELEASE: main + maintenance (opt) BRANCH: 'master' FILE: {repository}/docs/conf.py DESCR: The Sphinx build configuration file 'conf.py' contains configuration needed to customize Sphinx input and output behavior. Please follow the instructions below.
Also compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended. EXAMPLE: example 'conf.py' for 'master' branch |
2.3 | Update Sphinx configuration file 'requirements-docs.txt'RELEASE: main BRANCH: 'master' FILE: {repository}/docs/etc/requirements-docs.txt DESCR: The file contains the required libraries to be used by Sphinx. Compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended. EXAMPLE: example 'requirements-docs.txt' for 'master' branch
|
2.4 | Update Tox configuration file 'tox.ini'RELEASE: main BRANCH: 'master' FILE: {repository}/tox.ini DESCR: The file is required to customize different tox environments. Compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended.
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h=master EXAMPLE: example 'tox.ini' for 'master' branch
|
2.5 | Update ReadTheDocs build configuration file '.readthedocs.yaml'RELEASE: main + maintenance (opt) BRANCH: 'master' FILE: {repository}/.readthedocs.yaml DESCR: The ReadTheDocs build configuration file '.readthedocs.yaml' contains configuration needed to customize ReadTheDocs input and output behavior. Please follow the instructions below.
Also compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended. EXAMPLE: example '.readthedocs.yaml', same for 'master' branch and '{release}' |
2.6 | Update ReadTheDocs configuration file 'ribbon.css'RELEASE: main + maintenance (opt) BRANCH: 'master' FILE: doc/docs/_static/css/ribbon.css DESCR: The ReadTheDocs configuration file 'ribbon.css' has - among others - an effect on the width of a RTD documentation page. The width has been limited to ensure good readability. Please follow the instructions below.
Also compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended. EXAMPLE #1: example 'ribbon.css', same for 'master' branch and '{release}' EXAMPLE #2: active 'ribbon.css', same for 'master' branch and '{release}' |
2.7 | Update your project release notesRELEASE: main + maintenance (opt) BRANCH: 'master' FILE: e.g. {repository}/docs/release-notes.rst DESCR: The file contains a description of the latest changes in your project/repo. Update it accordingly for the new release. If there was no change in your project, please add a line about this fact as well. EXAMPLE: n/a |
2.8 | Update your documentation filesRELEASE: main + maintenance (opt) BRANCH: 'master' FILE: e.g. {repository}/docs/... DESCR: Update the files accordingly for the new release. EXAMPLE: n/a |
3.0 | RELEASE BRANCH PREPARATION |
3.1 | Create new branch of your repository using gerritRELEASE: main BRANCH: source/initial='master', target/new='{release}' FILE: n/a DESCR: Please follow the instructions below.
Note: You are not allowed to delete a branch. If you need to (maybe due to a typo in the process of creation) you have to raise a ticket at the LF IT Support. IMPORTANT: To trigger the documentation build in ReadTheDocs, you must change at least one of the ReStructuredText files (.rst) in the new branch. Only branching the repository does not trigger the RTD doc build process. Consequently the '{release}' version of documentation is missing in RTD. |
3.2 | Clone '{release}' branch of your repository to your local development environmentRELEASE: main + maintenance BRANCH: {release} FILE: all DESCR: Please use the command below.
Now you can start to modify files in the new branch. |
4.0 | RELEASE BRANCH UPDATES |
4.1 | Set correct 'defaultbranch' in '.gitreview'RELEASE: main BRANCH: {release} FILE: {repository}/.gitreview DESCR: Add/update the 'defaultbranch' entry ('defaultbranch={release}'). This can help to avoid that changes are accidentally committed or even published to a wrong branch. Add/update the 'project' entry to show the name of your project. EXAMPLE: active '.gitreview' for 'jakarta' branch, 'doc' project
|
4.2 | Update Sphinx build configuration file 'conf.py'RELEASE: main + maintenance (opt) BRANCH: {release} FILE: {repository}/docs/conf.py DESCR: The Sphinx build configuration file 'conf.py' contains configuration needed to customize Sphinx input and output behavior. Please follow the instructions below.
EXAMPLE: example 'conf.py' for '{release}' branch
|
4.3 | Update Tox configuration file 'tox.ini'RELEASE: main BRANCH: {release} FILE: {repository}/tox.ini DESCR: The file is required to customize different tox environments. Compare the version used in your repository with the example provided in the 'doc' repo and update if required. Be careful if your active configuration file was already extended.
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h={release} EXAMPLE #1: example 'tox.ini' for 'release' branch
|
4.4 | Update at least one .rst file to trigger the RTD buildRELEASE: main BRANCH: {release} FILE: n/a DESCR: To trigger the documentation build in ReadTheDocs, you must change at least one of the ReStructuredText files (.rst) in the new branch. Only branching the repository does not trigger the RTD doc build process. Consequently the '{release}' version of documentation is missing in RTD. EXAMPLE: n/a |
5.0 | IMPROVEMENTS FOR THIS PROCEDURE |
5.1 | Improvements (to be discussed)
|
Skip to end of banner
Go to start of banner
P02: Create documentation for an ONAP release (ONAP project teams)
General
Content
Integrations