[ROCDOC-95] Standardize documentation for ReadtheDocs

Apply the following changes to project documentation for ReadtheDocs:

add version number to documentation left navigation bar and page title
add an "About" section with a license page
enable htmlzip, pdf, epub formats when publishing on Read the Docs
set pdf title, author, copyright, and version
rename .sphinx/.doxygen to sphinx/doxygen
remove docBin from URL
update rocm-docs-core dependency
update dependabot config

Change-Id: Ife8c89a2e9323f436b3e54ef2a9e013c19b3b228


[ROCm/rocm_smi_lib commit: 67dc4b0f2a]
This commit is contained in:
Sam Wu
2024-01-04 15:45:17 -07:00
committed by Dmitrii Galantsev
parent c0335b2695
commit c785a58e99
15 changed files with 56 additions and 25 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: "pip" # See documentation for possible values - package-ecosystem: "pip" # See documentation for possible values
directory: "/docs/.sphinx" # Location of package manifests directory: "/docs/sphinx" # Location of package manifests
open-pull-requests-limit: 10 open-pull-requests-limit: 10
schedule: schedule:
interval: "daily" interval: "daily"
+2 -3
View File
@@ -10,12 +10,11 @@ formats: [htmlzip, pdf, epub]
python: python:
install: install:
- requirements: docs/.sphinx/requirements.txt - requirements: docs/sphinx/requirements.txt
build: build:
os: ubuntu-20.04 os: ubuntu-22.04
tools: tools:
python: "3.8" python: "3.8"
apt_packages: apt_packages:
- "doxygen"
- "graphviz" # For dot graphs in doxygen - "graphviz" # For dot graphs in doxygen
+5 -1
View File
@@ -1,21 +1,25 @@
# Change Log for ROCm SMI Library # Change Log for ROCm SMI Library
Full documentation for rocm_smi_lib is available at [https://docs.amd.com/](https://docs.amd.com/category/SMI%20API%20Guides). Full documentation for rocm_smi_lib is available at [https://docs.amd.com/](https://rocm.docs.amd.com/projects/rocm_smi_lib/en/latest/).
## rocm_smi_lib for ROCm 5.5.0 ## rocm_smi_lib for ROCm 5.5.0
### Optimizations ### Optimizations
- Add new test to measure api execution time. - Add new test to measure api execution time.
- Remove the shared mutex if no process is using it. - Remove the shared mutex if no process is using it.
### Added ### Added
- ROCm SMI CLI: Add --showtempgraph Feature. - ROCm SMI CLI: Add --showtempgraph Feature.
### Changed ### Changed
- Relying on vendor ID to detect AMDGPU. - Relying on vendor ID to detect AMDGPU.
- Change pragma message to warning for backward compatibility. - Change pragma message to warning for backward compatibility.
### Fixed ### Fixed
- Fix --showproductname when device's SKU cannot be parsed out of the VBIOS string. - Fix --showproductname when device's SKU cannot be parsed out of the VBIOS string.
- Fix compile error: ‘memcpy’ was not declared. - Fix compile error: ‘memcpy’ was not declared.
- Fix order of CE and UE reporting in ROCm SMI CLI. - Fix order of CE and UE reporting in ROCm SMI CLI.
+1 -1
View File
@@ -51,7 +51,7 @@ The following is an example of how to build the docs:
```shell ```shell
python3 -m venv .venv python3 -m venv .venv
.venv/bin/python3 -m pip install -r docs/.sphinx/requirements.txt .venv/bin/python3 -m pip install -r docs/sphinx/requirements.txt
.venv/bin/python3 -m sphinx -T -E -b html -d docs/_build/doctrees -D language=en docs docs/_build/html .venv/bin/python3 -m sphinx -T -E -b html -d docs/_build/doctrees -D language=en docs docs/_build/html
``` ```
@@ -1 +0,0 @@
docBin/
@@ -1,7 +0,0 @@
defaults:
numbered: False
maxdepth: 6
root: index
subtrees:
- entries:
- file: .doxygen/docBin/html/index
@@ -1 +0,0 @@
rocm-docs-core[api_reference]==0.26.0
+22 -2
View File
@@ -4,12 +4,32 @@
# list see the documentation: # list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html # https://www.sphinx-doc.org/en/master/usage/configuration.html
import re
from rocm_docs import ROCmDocs from rocm_docs import ROCmDocs
docs_core = ROCmDocs("ROCm SMI LIB") with open('../CMakeLists.txt', encoding='utf-8') as f:
docs_core.run_doxygen(doxygen_root='.doxygen', doxygen_path='.') match = re.search(r'get_package_version_number\(\"?([0-9.]+)[^0-9.]+', f.read())
if not match:
raise ValueError("VERSION not found!")
version_number = match[1]
left_nav_title = f"ROCm SMI LIB {version_number} Documentation"
# for PDF output on Read the Docs
project = "ROCm SMI LIB Documentation"
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved."
version = version_number
release = version_number
external_toc_path = "./sphinx/_toc.yml"
docs_core = ROCmDocs(left_nav_title)
docs_core.run_doxygen(doxygen_root="doxygen", doxygen_path="doxygen/xml")
docs_core.enable_api_reference() docs_core.enable_api_reference()
docs_core.setup() docs_core.setup()
external_projects_current_project = "rocm_smi_lib"
for sphinx_var in ROCmDocs.SPHINX_VARS: for sphinx_var in ROCmDocs.SPHINX_VARS:
globals()[sphinx_var] = getattr(docs_core, sphinx_var) globals()[sphinx_var] = getattr(docs_core, sphinx_var)
@@ -0,0 +1,2 @@
html/
xml/
@@ -68,7 +68,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # left blank the current directory will be used.
OUTPUT_DIRECTORY = docBin OUTPUT_DIRECTORY = .
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
# sub-directories (in 2 levels) under the output directory of each output format # sub-directories (in 2 levels) under the output directory of each output format
@@ -1839,7 +1839,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
# The default value is: YES. # The default value is: YES.
GENERATE_LATEX = YES GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -2124,7 +2124,7 @@ MAN_LINKS = NO
# captures the structure of the code including all documentation. # captures the structure of the code including all documentation.
# The default value is: NO. # The default value is: NO.
GENERATE_XML = NO GENERATE_XML = YES
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+4
View File
@@ -0,0 +1,4 @@
# License
```{include} ../License.txt
```
@@ -5,5 +5,9 @@ defaults:
maxdepth: 6 maxdepth: 6
root: index root: index
subtrees: subtrees:
- entries: - caption: API
- file: .doxygen/docBin/html/index entries:
- file: doxygen/html/index
- caption: About
entries:
- file: license
@@ -0,0 +1 @@
rocm-docs-core[api_reference]>=0.30.3
@@ -1,5 +1,5 @@
# #
# This file is autogenerated by pip-compile with Python 3.10 # This file is autogenerated by pip-compile with Python 3.8
# by the following command: # by the following command:
# #
# pip-compile requirements.in # pip-compile requirements.in
@@ -105,6 +105,8 @@ pynacl==1.5.0
# via pygithub # via pygithub
pyparsing==3.0.9 pyparsing==3.0.9
# via doxysphinx # via doxysphinx
pytz==2023.3.post1
# via babel
pyyaml==6.0 pyyaml==6.0
# via # via
# myst-parser # myst-parser
@@ -114,7 +116,7 @@ requests==2.28.2
# via # via
# pygithub # pygithub
# sphinx # sphinx
rocm-docs-core[api_reference]==0.26.0 rocm-docs-core[api_reference]>=0.30.3
# via -r requirements.in # via -r requirements.in
smmap==5.0.0 smmap==5.0.0
# via gitdb # via gitdb
@@ -159,7 +161,11 @@ tqdm==4.66.1
# via mpire # via mpire
typing-extensions==4.5.0 typing-extensions==4.5.0
# via pydata-sphinx-theme # via pydata-sphinx-theme
urllib3==2.0.3 urllib3==1.26.18
# via requests # via requests
wrapt==1.15.0 wrapt==1.15.0
# via deprecated # via deprecated
zipp==3.17.0
# via
# importlib-metadata
# importlib-resources