Skip to content

Commit 6d7e7bd

Browse files
URJalaurfeex
andauthored
Add migration notes to individual packages (#1545)
* Add migration notes to packages. Also added a GitHub action to build the Sphinx documentation. * Add conf.py to moveit_config package * Suppress reference warnings when building package docs individually * Apply suggestions from code review --------- Co-authored-by: Felix Exner <[email protected]>
1 parent a67150f commit 6d7e7bd

File tree

10 files changed

+297
-6
lines changed

10 files changed

+297
-6
lines changed

.github/workflows/sphinx_build.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: "Build documentation"
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
push:
7+
branches:
8+
- main
9+
schedule:
10+
- cron: '38 2 * * *'
11+
12+
jobs:
13+
docs:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: write
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
steps:
20+
- uses: actions/checkout@v5
21+
- uses: actions/setup-python@v6
22+
with:
23+
cache: 'pip'
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install -r doc_requirements.txt
28+
- name: Build documentation
29+
run: |
30+
sphinx-build -W -b html ur_calibration/doc _doc_build && \
31+
sphinx-build -W -b html ur_controllers/doc _doc_build && \
32+
sphinx-build -W -b html ur_moveit_config/doc _doc_build && \
33+
sphinx-build -W -b html ur_robot_driver/doc _doc_build

doc_requirements.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
sphinx
2+
sphinx-copybutton
3+
sphinx-tabs
4+
sphinx_rtd_theme
5+
catkin-pkg

ur_calibration/doc/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
#
3737
# This is also used if you do content translation via gettext catalogs.
3838
# Usually you set "language" from the command line for these cases.
39-
language = None
39+
language = "en"
4040

4141
# List of patterns, relative to source directory, that match files and
4242
# directories to ignore when looking for source files.
@@ -63,7 +63,7 @@
6363
# Add any paths that contain custom static files (such as style sheets) here,
6464
# relative to this directory. They are copied after the builtin static files,
6565
# so a file named "default.css" will overwrite the builtin "default.css".
66-
html_static_path = ["_static"]
66+
# html_static_path = ["_static"]
6767

6868
# Custom sidebar templates, must be a dictionary that maps document names
6969
# to template names.

ur_controllers/doc/conf.py

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
#!/usr/bin/env python
2+
# Copyright 2025, Universal Robots A/S
3+
#
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions are met:
6+
#
7+
# * Redistributions of source code must retain the above copyright
8+
# notice, this list of conditions and the following disclaimer.
9+
#
10+
# * Redistributions in binary form must reproduce the above copyright
11+
# notice, this list of conditions and the following disclaimer in the
12+
# documentation and/or other materials provided with the distribution.
13+
#
14+
# * Neither the name of the {copyright_holder} nor the names of its
15+
# contributors may be used to endorse or promote products derived from
16+
# this software without specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28+
# POSSIBILITY OF SUCH DAMAGE.
29+
30+
project = "ur_controllers"
31+
copyright = "2025, Universal Robots A/S"
32+
author = "Felix Exner"
33+
34+
# The short X.Y version
35+
version = ""
36+
# The full version, including alpha/beta/rc tags
37+
release = ""
38+
39+
# -- General configuration ---------------------------------------------------
40+
41+
# If your documentation needs a minimal Sphinx version, state it here.
42+
#
43+
# needs_sphinx = '1.0'
44+
45+
# Add any Sphinx extension module names here, as strings. They can be
46+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
47+
# ones.
48+
extensions = []
49+
50+
suppress_warnings = ["ref.ref"]
51+
52+
# Add any paths that contain templates here, relative to this directory.
53+
templates_path = ["_templates"]
54+
55+
# The suffix(es) of source filenames.
56+
# You can specify multiple suffix as a list of string:
57+
#
58+
source_suffix = [".rst"]
59+
60+
# The master toctree document.
61+
master_doc = "index"
62+
63+
numfig = True
64+
65+
# The language for content autogenerated by Sphinx. Refer to documentation
66+
# for a list of supported languages.
67+
#
68+
# This is also used if you do content translation via gettext catalogs.
69+
# Usually you set "language" from the command line for these cases.
70+
language = "en"
71+
72+
# List of patterns, relative to source directory, that match files and
73+
# directories to ignore when looking for source files.
74+
# This pattern also affects html_static_path and html_extra_path.
75+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
76+
77+
# The name of the Pygments (syntax highlighting) style to use.
78+
pygments_style = None
79+
80+
# -- Options for HTML output -------------------------------------------------
81+
82+
# The theme to use for HTML and HTML Help pages. See the documentation for
83+
# a list of builtin themes.
84+
#
85+
html_theme = "alabaster"
86+
87+
# Theme options are theme-specific and customize the look and feel of a theme
88+
# further. For a list of options available for each theme, see the
89+
# documentation.
90+
#
91+
# html_theme_options = {}
92+
93+
# Add any paths that contain custom static files (such as style sheets) here,
94+
# relative to this directory. They are copied after the builtin static files,
95+
# so a file named "default.css" will overwrite the builtin "default.css".
96+
# html_static_path = ["_static"]
97+
98+
# Custom sidebar templates, must be a dictionary that maps document names
99+
# to template names.
100+
#
101+
# The default sidebars (for documents that don't match any pattern) are
102+
# defined by theme itself. Builtin themes are using these templates by
103+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
104+
# 'searchbox.html']``.
105+
#
106+
# html_sidebars = {}
107+
108+
109+
# -- Options for HTMLHelp output ---------------------------------------------
110+
111+
# Output file base name for HTML help builder.
112+
htmlhelp_basename = "ur_controllers_doc"
113+
114+
115+
# -- Options for LaTeX output ------------------------------------------------

ur_moveit_config/doc/conf.py

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
#!/usr/bin/env python
2+
# Copyright 2025, Universal Robots A/S
3+
#
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions are met:
6+
#
7+
# * Redistributions of source code must retain the above copyright
8+
# notice, this list of conditions and the following disclaimer.
9+
#
10+
# * Redistributions in binary form must reproduce the above copyright
11+
# notice, this list of conditions and the following disclaimer in the
12+
# documentation and/or other materials provided with the distribution.
13+
#
14+
# * Neither the name of the {copyright_holder} nor the names of its
15+
# contributors may be used to endorse or promote products derived from
16+
# this software without specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28+
# POSSIBILITY OF SUCH DAMAGE.
29+
30+
project = "ur_moveit_config"
31+
copyright = "2025, Universal Robots A/S"
32+
author = "Felix Exner"
33+
34+
# The short X.Y version
35+
version = ""
36+
# The full version, including alpha/beta/rc tags
37+
release = ""
38+
39+
# -- General configuration ---------------------------------------------------
40+
41+
# If your documentation needs a minimal Sphinx version, state it here.
42+
#
43+
# needs_sphinx = '1.0'
44+
45+
# Add any Sphinx extension module names here, as strings. They can be
46+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
47+
# ones.
48+
extensions = []
49+
50+
suppress_warnings = ["ref.ref"]
51+
52+
# Add any paths that contain templates here, relative to this directory.
53+
templates_path = ["_templates"]
54+
55+
# The suffix(es) of source filenames.
56+
# You can specify multiple suffix as a list of string:
57+
#
58+
source_suffix = [".rst"]
59+
60+
# The master toctree document.
61+
master_doc = "index"
62+
63+
numfig = True
64+
65+
# The language for content autogenerated by Sphinx. Refer to documentation
66+
# for a list of supported languages.
67+
#
68+
# This is also used if you do content translation via gettext catalogs.
69+
# Usually you set "language" from the command line for these cases.
70+
language = "en"
71+
72+
# List of patterns, relative to source directory, that match files and
73+
# directories to ignore when looking for source files.
74+
# This pattern also affects html_static_path and html_extra_path.
75+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
76+
77+
# The name of the Pygments (syntax highlighting) style to use.
78+
pygments_style = None
79+
80+
# -- Options for HTML output -------------------------------------------------
81+
82+
# The theme to use for HTML and HTML Help pages. See the documentation for
83+
# a list of builtin themes.
84+
#
85+
html_theme = "alabaster"
86+
87+
# Theme options are theme-specific and customize the look and feel of a theme
88+
# further. For a list of options available for each theme, see the
89+
# documentation.
90+
#
91+
# html_theme_options = {}
92+
93+
# Add any paths that contain custom static files (such as style sheets) here,
94+
# relative to this directory. They are copied after the builtin static files,
95+
# so a file named "default.css" will overwrite the builtin "default.css".
96+
# html_static_path = ["_static"]
97+
98+
# Custom sidebar templates, must be a dictionary that maps document names
99+
# to template names.
100+
#
101+
# The default sidebars (for documents that don't match any pattern) are
102+
# defined by theme itself. Builtin themes are using these templates by
103+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
104+
# 'searchbox.html']``.
105+
#
106+
# html_sidebars = {}
107+
108+
109+
# -- Options for HTMLHelp output ---------------------------------------------
110+
111+
# Output file base name for HTML help builder.
112+
htmlhelp_basename = "ur_moveit_config_doc"
113+
114+
115+
# -- Options for LaTeX output ------------------------------------------------

ur_moveit_config/doc/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
ur_moveit_config
77
================
88

9+
.. toctree::
10+
:maxdepth: 2
11+
:caption: Contents:
12+
13+
migration_notes
14+
915
This package contains an **example** MoveIt! configuration for Universal Robots arms. Since the
1016
default description contains only the arm, this MoveIt! configuration package also only contains the
1117
arm without any objects around it.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Migration notes
2+
===============
3+
4+
Iron -> Jazzy
5+
^^^^^^^^^^^^^
6+
.. include:: migration/jazzy.rst
7+
:start-line: 4

ur_robot_driver/doc/conf.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@
3737
# Add any Sphinx extension module names here, as strings. They can be
3838
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
3939
# ones.
40-
extensions = []
40+
extensions = ["sphinx_tabs.tabs"]
41+
42+
suppress_warnings = ["ref.ref"]
4143

4244
# Add any paths that contain templates here, relative to this directory.
4345
templates_path = ["_templates"]
@@ -55,12 +57,12 @@
5557
#
5658
# This is also used if you do content translation via gettext catalogs.
5759
# Usually you set "language" from the command line for these cases.
58-
language = None
60+
language = "en"
5961

6062
# List of patterns, relative to source directory, that match files and
6163
# directories to ignore when looking for source files.
6264
# This pattern also affects html_static_path and html_extra_path.
63-
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
65+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "resources/README.md"]
6466

6567
# The name of the Pygments (syntax highlighting) style to use.
6668
pygments_style = None
@@ -82,7 +84,7 @@
8284
# Add any paths that contain custom static files (such as style sheets) here,
8385
# relative to this directory. They are copied after the builtin static files,
8486
# so a file named "default.css" will overwrite the builtin "default.css".
85-
html_static_path = ["_static"]
87+
# html_static_path = ["_static"]
8688

8789
# Custom sidebar templates, must be a dictionary that maps document names
8890
# to template names.

ur_robot_driver/doc/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ ur_robot_driver
2323
robot_state_helper
2424
controller_stopper
2525
trajectory_until_node
26+
migration_notes
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Migration notes
2+
===============
3+
4+
Iron -> Jazzy
5+
^^^^^^^^^^^^^
6+
.. include:: migration/jazzy.rst
7+
:start-line: 4

0 commit comments

Comments
 (0)