From 62a09cb07fde122cb5ef621fd2ac9ad402daf991 Mon Sep 17 00:00:00 2001 From: chaitanya1731 Date: Tue, 5 Mar 2024 15:12:06 -0800 Subject: [PATCH] Added Initial Documentation Code Signed-off-by: chaitanya1731 --- .github/workflows/publish.yml | 45 +++++++++++++++ .gitignore | 2 + Makefile | 38 +++++++++++++ _static/custom.css | 3 + conf.py | 102 ++++++++++++++++++++++++++++++++++ debug/README.md | 8 ++- index.rst | 25 +++++++++ make.bat | 35 ++++++++++++ requirements.txt | 7 +++ 9 files changed, 263 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/publish.yml create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 _static/custom.css create mode 100644 conf.py create mode 100644 index.rst create mode 100644 make.bat create mode 100644 requirements.txt diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..aaa2a66 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,45 @@ +name: Publish Documentation +on: + push: + branches: + - main +permissions: + contents: read + +jobs: + build: + permissions: + contents: write # for Git to git push + runs-on: ubuntu-22.04 + + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y python3-venv git + - uses: actions/checkout@v4 + with: + ref: main + - name: Set up doc directory + run: | + mkdir $HOME/output + touch $HOME/output/.nojekyll + - name: Build latest + run: | + GITHUB_SHA=$(git rev-parse HEAD) + export GITHUB_SHA + rm -rf _work/venv + make vhtml + mv _build/html/* $HOME/output/ + - name: Deploy the docs + shell: bash + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + run: | + cd $HOME/output + git init + git config --global user.name "${GITHUB_ACTOR}" + git config --global user.email "${GITHUB_ACTOR}@github.com" + git add . + git commit -m "latest html output" + git push -f https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:latesthtml \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e76724e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +_build +.vscode diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..77f9bf6 --- /dev/null +++ b/Makefile @@ -0,0 +1,38 @@ +# Minimal makefile for Sphinx documentation + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +# %: Makefile +# @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +# Generate doc site under _build/html with Sphinx. +vhtml: _work/venv/.stamp + . _work/venv/bin/activate && \ + $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +# cp docs/index.html $(BUILDDIR)/html/index.html + +html: + $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +# cp docs/index.html $(BUILDDIR)/html/index.html + +clean-html: + rm -rf $(BUILDDIR)/html + +# Set up a Python3 environment with the necessary tools for document creation. +_work/venv/.stamp: ./requirements.txt + rm -rf ${@D} + python3 -m venv ${@D} + . ${@D}/bin/activate && pip install wheel && pip install -r $< + touch $@ diff --git a/_static/custom.css b/_static/custom.css new file mode 100644 index 0000000..258643d --- /dev/null +++ b/_static/custom.css @@ -0,0 +1,3 @@ +.wy-nav-content { + max-width: 90% !important; +} \ No newline at end of file diff --git a/conf.py b/conf.py new file mode 100644 index 0000000..c371ac4 --- /dev/null +++ b/conf.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + +# -- Project information ----------------------------------------------------- + +project = 'Intel® Data Center GPU Driver for OpenShift*' +copyright = '2024, Intel® Corporation' +author = 'Intel® Corporation' + +# The short X.Y version +# version = 'devel' +# The full version, including alpha/beta/rc tags +# release = 'GA' + +# Versions to show in the version menu + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['myst_parser', 'sphinx_md'] +# myst_enable_extensions = [ +# "html_admonition", +# ] +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = ['.rst', '.md'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' +html_title = "Intel® Data Center GPU Driver for OpenShift*" +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. + +html_context = { + 'display_github': True, + 'github_host': 'github.com', + 'github_user': 'intel', + 'github_repo': 'intel-data-center-gpu-driver-for-openshift', + 'github_version': 'main/', + 'versions_menu': True, +} +html_css_files = [ + 'custom.css', +] + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". + +html_static_path = ['_static'] + + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'IntelDataCenterGPUDriverforOpenShiftdoc' \ No newline at end of file diff --git a/debug/README.md b/debug/README.md index 000d9ac..c354cca 100644 --- a/debug/README.md +++ b/debug/README.md @@ -1,12 +1,16 @@ # Developers Guide -> Disclaimer: Please note that this module is currently under development and may contain partially implemented features, therefore it is not supported in the current release. +```{admonition} Disclaimer +Please note that this module is currently under development and may contain partially implemented features, therefore it is not supported in the current release. +``` ## Debug Intel Data Center GPU Driver Container Image on OpenShift Cluster To debug the driver container image, please make sure the OpenShift cluster is provisioned with Intel Data Center GPU Flex cards available on the cluster nodes. -> Note: The following operations are verified on OCP-4.11 and OCP-4.12 cluster with Intel® Data Center GPU Flex 140 +```{note} +The following operations are verified on OCP-4.11 and OCP-4.12 cluster with Intel® Data Center GPU Flex 140 +``` ### Debugging Driver Build Firstly, [Red Hat OCP buildconfig](https://docs.openshift.com/container-platform/4.11/cicd/builds/understanding-buildconfigs.html) is used to debug driver building process. The Dockerfile section in [driver-build.yaml](driver-build.yaml) can be updated to debug the building and packaging of the driver container Image. diff --git a/index.rst b/index.rst new file mode 100644 index 0000000..d040cf4 --- /dev/null +++ b/index.rst @@ -0,0 +1,25 @@ +.. Intel Data Center GPU Driver for OpenShift documentation master file, created by + sphinx-quickstart on Thu Feb 22 11:41:27 2024. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Intel® Data Center GPU Driver for OpenShift* +====================================================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + README.md + +.. toctree:: + :maxdepth: 2 + :caption: Release: + + release/README.md + +.. toctree:: + :maxdepth: 2 + :caption: Developers Guide: + + debug/README.md \ No newline at end of file diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..543c6b1 --- /dev/null +++ b/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..60bbbda --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +docutils<0.18 +sphinx +sphinx_rtd_theme +recommonmark +sphinx-markdown-tables +sphinx-md +myst_parser