Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
},
"workspaceMount": "source=${localWorkspaceFolder},target=/tmp/doc_repository,type=bind",
"workspaceFolder": "/tmp/doc_repository",
"postCreateCommand": "pip3 install --no-warn-script-location --user -r requirements.txt -c constraints.txt",
"postCreateCommand": "pip3 install --no-warn-script-location --user --break-system-packages -r requirements.txt -c constraints.txt",
"features": {
"ghcr.io/devcontainers/features/git:1": {}
},
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
validate:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ on: pull_request

jobs:
test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'

- name: Install dependencies with pip
run: pip install --no-warn-script-location --user -r requirements.txt -c constraints.txt
Expand All @@ -24,15 +24,15 @@ jobs:
run: make test-tools

lint:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'

- name: Install dependencies with pip
run: pip install --no-warn-script-location --user -r requirements.txt -c constraints.txt
Expand All @@ -41,15 +41,15 @@ jobs:
run: make lint

spellcheck:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'

- name: Install dependencies with pip
run: pip install --no-warn-script-location --user -r requirements.txt -c constraints.txt
Expand All @@ -59,15 +59,15 @@ jobs:

build:
needs: [test, lint]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'

- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v2
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ pip install -r requirements.txt -c constraints.txt

### Pinned versions

For development we currently use Jammy (Ubuntu 22.04) as our build platform.
For development we currently use Noble (Ubuntu 24.04) as our build platform.
And all python versions are pinned in the constraints file to make sure that things are reproducible.
To upgrade the system validate that things are working and then use `pip freeze > constraints.txt` to lock in the versions to upgrade.

Expand Down
5 changes: 4 additions & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
'sphinx_tabs.tabs',
'sphinx_rtd_theme',
'sphinx_sitemap_ros',
'sphinxcontrib.googleanalytics',
'sphinxcontrib.mermaid',
]

Expand All @@ -109,14 +110,16 @@
# See: https://sphinx-copybutton.readthedocs.io/en/latest/use.html#automatic-exclusion-of-prompts-from-the-copies
copybutton_exclude = '.linenos, .gp, .go'

# Google Analytics configuration
googleanalytics_id = 'G-EVD5Z6G6NH'
googleanalytics_enabled = True
# -- 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_theme_options = {
'analytics_id': 'G-EVD5Z6G6NH',
'collapse_navigation': False,
'sticky_navigation': True,
'navigation_depth': -1,
Expand Down
68 changes: 37 additions & 31 deletions constraints.txt
Original file line number Diff line number Diff line change
@@ -1,36 +1,42 @@
alabaster==0.7.12
Babel==2.14.0
certifi==2020.6.20
chardet==4.0.0
doc8==1.1.1
docutils==0.20.1
idna==2.10
imagesize==1.3.0
Jinja2==3.0.3
MarkupSafe==2.0.1
packaging==21.3
pbr==5.8.0
alabaster==1.0.0
babel==2.17.0
certifi==2025.10.5
charset-normalizer==3.4.3
click==8.3.0
codespell==2.4.1
doc8==2.0.0
docutils==0.21.2
idna==3.10
imagesize==1.4.1
iniconfig==2.1.0
Jinja2==3.1.6
MarkupSafe==3.0.3
packaging==25.0
pluggy==1.6.0
polib==1.2.0
Pygments==2.17.2
pyparsing==2.4.7
pytest==8.3.5
pytz==2022.1
requests==2.25.1
restructuredtext_lint==1.3.2
snowballstemmer==2.2.0
Sphinx==7.2.6
Pygments==2.19.2
pytest==8.4.2
PyYAML==6.0.3
regex==2025.9.18
requests==2.32.5
restructuredtext_lint==1.4.0
roman-numerals-py==3.1.0
snowballstemmer==3.0.1
Sphinx==8.2.3
sphinx-copybutton==0.5.2
sphinx-lint==0.9.1
sphinx-lint==1.0.0
sphinx-multiversion==0.2.4
sphinx-rtd-theme==2.0.0
sphinx-tabs==3.4.5
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinx-rtd-theme==3.0.2
sphinx-tabs==3.4.7
sphinx_tamer==0.2.0
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-googleanalytics==0.5
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-mermaid==0.9.2
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.10
stevedore==3.5.0
urllib3==1.26.5
sphinxcontrib-mermaid==1.0.0
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
stevedore==5.5.0
urllib3==2.5.0
20 changes: 17 additions & 3 deletions docker/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# This dockerfile is expecting to be run with the following build command
# (from the root of the git repository):
#
# docker build -f docker/image/Dockerfile .
# $ docker build -f docker/image/Dockerfile --build-arg user=$(id -un) --build-arg uid=$(id -u) -t ros2_documentation .
#
# Then, to use the image to build the docs:
#
# $ docker run --rm -v $(pwd):/tmp/doc_repository ros2_documentation

FROM ubuntu:jammy
FROM ubuntu:noble

ARG user=rosindex
ARG uid=1000
Expand Down Expand Up @@ -36,4 +40,14 @@ USER $user

# https://build.ros.org/job/doc_ros2doc/ relies on "make multiversion" to build the official documentation.
# Do not remove "make multiversion" from CMD, as it is the entrypoint for the container.
CMD ["bash", "-c", "pip3 install --no-warn-script-location --user -r requirements.txt -c constraints.txt && make multiversion"]
# The constraints.txt file was generated with:
# $ cd ros2_documentation
# $ docker run -v $PWD:/ros2_documentation -it ubuntu:24.04
# (docker)$ cd /ros2_documentation
# (docker)$ apt update
# (docker)$ apt install -y python3-pip python3-venv
# (docker)$ python3 -m venv venv-constraints
# (docker)$ . ./venv-constraints/bin/activate
# (docker)$ pip3 install -U -r requirements.txt
# (docker)$ pip3 freeze > constraints.txt
CMD ["bash", "-c", "pip3 install --no-warn-script-location --user --break-system-packages -r requirements.txt -c constraints.txt && make multiversion"]
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ sphinx-lint
sphinx-multiversion
sphinx-rtd-theme
sphinx-tabs
sphinxcontrib-mermaid
sphinx-tamer
sphinxcontrib-googleanalytics
sphinxcontrib-mermaid