Skip to content

Commit 4f53b34

Browse files
mergify[bot]Nils-ChristianIsekechristophebedard
authored
Update dependencies and bump CI Docker image to 24.04 (#5595) (#5930)
(cherry picked from commit 7815bc5) Signed-off-by: Nils-Christian Iseke <[email protected]> Signed-off-by: Christophe Bedard <[email protected]> Co-authored-by: Nils-Christian Iseke <[email protected]> Co-authored-by: Christophe Bedard <[email protected]>
1 parent b50a4c9 commit 4f53b34

File tree

8 files changed

+71
-47
lines changed

8 files changed

+71
-47
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
},
66
"workspaceMount": "source=${localWorkspaceFolder},target=/tmp/doc_repository,type=bind",
77
"workspaceFolder": "/tmp/doc_repository",
8-
"postCreateCommand": "pip3 install --no-warn-script-location --user -r requirements.txt -c constraints.txt",
8+
"postCreateCommand": "pip3 install --no-warn-script-location --user --break-system-packages -r requirements.txt -c constraints.txt",
99
"features": {
1010
"ghcr.io/devcontainers/features/git:1": {}
1111
},

.github/workflows/docker-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
jobs:
1111
validate:
12-
runs-on: ubuntu-22.04
12+
runs-on: ubuntu-24.04
1313
steps:
1414
- name: Checkout
1515
uses: actions/checkout@v4

.github/workflows/test.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ on: pull_request
44

55
jobs:
66
test:
7-
runs-on: ubuntu-22.04
7+
runs-on: ubuntu-24.04
88
steps:
99
- name: Checkout
1010
uses: actions/checkout@v4
1111

1212
- name: Setup Python
1313
uses: actions/setup-python@v5
1414
with:
15-
python-version: '3.10'
15+
python-version: '3.12'
1616

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

2626
lint:
27-
runs-on: ubuntu-22.04
27+
runs-on: ubuntu-24.04
2828
steps:
2929
- name: Checkout
3030
uses: actions/checkout@v4
3131

3232
- name: Setup Python
3333
uses: actions/setup-python@v5
3434
with:
35-
python-version: '3.10'
35+
python-version: '3.12'
3636

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

4343
spellcheck:
44-
runs-on: ubuntu-22.04
44+
runs-on: ubuntu-24.04
4545
steps:
4646
- name: Checkout
4747
uses: actions/checkout@v4
4848

4949
- name: Setup Python
5050
uses: actions/setup-python@v5
5151
with:
52-
python-version: '3.10'
52+
python-version: '3.12'
5353

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

6060
build:
6161
needs: [test, lint]
62-
runs-on: ubuntu-22.04
62+
runs-on: ubuntu-24.04
6363
steps:
6464
- name: Checkout
6565
uses: actions/checkout@v4
6666

6767
- name: Setup Python
6868
uses: actions/setup-python@v5
6969
with:
70-
python-version: '3.10'
70+
python-version: '3.12'
7171

7272
- name: Setup Graphviz
7373
uses: ts-graphviz/setup-graphviz@v2

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pip install -r requirements.txt -c constraints.txt
3737

3838
### Pinned versions
3939

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

conf.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
'sphinx_tabs.tabs',
8787
'sphinx_rtd_theme',
8888
'sphinx_sitemap_ros',
89+
'sphinxcontrib.googleanalytics',
8990
'sphinxcontrib.mermaid',
9091
]
9192

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

113+
# Google Analytics configuration
114+
googleanalytics_id = 'G-EVD5Z6G6NH'
115+
googleanalytics_enabled = True
112116
# -- Options for HTML output ----------------------------------------------
113117

114118
# The theme to use for HTML and HTML Help pages. See the documentation for
115119
# a list of builtin themes.
116120
#
117121
html_theme = 'sphinx_rtd_theme'
118122
html_theme_options = {
119-
'analytics_id': 'G-EVD5Z6G6NH',
120123
'collapse_navigation': False,
121124
'sticky_navigation': True,
122125
'navigation_depth': -1,

constraints.txt

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
1-
alabaster==0.7.12
2-
Babel==2.14.0
3-
certifi==2020.6.20
4-
chardet==4.0.0
5-
doc8==1.1.1
6-
docutils==0.20.1
7-
idna==2.10
8-
imagesize==1.3.0
9-
Jinja2==3.0.3
10-
MarkupSafe==2.0.1
11-
packaging==21.3
12-
pbr==5.8.0
1+
alabaster==1.0.0
2+
babel==2.17.0
3+
certifi==2025.10.5
4+
charset-normalizer==3.4.3
5+
click==8.3.0
6+
codespell==2.4.1
7+
doc8==2.0.0
8+
docutils==0.21.2
9+
idna==3.10
10+
imagesize==1.4.1
11+
iniconfig==2.1.0
12+
Jinja2==3.1.6
13+
MarkupSafe==3.0.3
14+
packaging==25.0
15+
pluggy==1.6.0
1316
polib==1.2.0
14-
Pygments==2.17.2
15-
pyparsing==2.4.7
16-
pytest==8.3.5
17-
pytz==2022.1
18-
requests==2.25.1
19-
restructuredtext_lint==1.3.2
20-
snowballstemmer==2.2.0
21-
Sphinx==7.2.6
17+
Pygments==2.19.2
18+
pytest==8.4.2
19+
PyYAML==6.0.3
20+
regex==2025.9.18
21+
requests==2.32.5
22+
restructuredtext_lint==1.4.0
23+
roman-numerals-py==3.1.0
24+
snowballstemmer==3.0.1
25+
Sphinx==8.2.3
2226
sphinx-copybutton==0.5.2
23-
sphinx-lint==0.9.1
27+
sphinx-lint==1.0.0
2428
sphinx-multiversion==0.2.4
25-
sphinx-rtd-theme==2.0.0
26-
sphinx-tabs==3.4.5
27-
sphinxcontrib-applehelp==1.0.4
28-
sphinxcontrib-devhelp==1.0.2
29-
sphinxcontrib-htmlhelp==2.0.1
29+
sphinx-rtd-theme==3.0.2
30+
sphinx-tabs==3.4.7
31+
sphinx_tamer==0.2.0
32+
sphinxcontrib-applehelp==2.0.0
33+
sphinxcontrib-devhelp==2.0.0
34+
sphinxcontrib-googleanalytics==0.5
35+
sphinxcontrib-htmlhelp==2.1.0
3036
sphinxcontrib-jquery==4.1
3137
sphinxcontrib-jsmath==1.0.1
32-
sphinxcontrib-mermaid==0.9.2
33-
sphinxcontrib-qthelp==1.0.3
34-
sphinxcontrib-serializinghtml==1.1.10
35-
stevedore==3.5.0
36-
urllib3==1.26.5
38+
sphinxcontrib-mermaid==1.0.0
39+
sphinxcontrib-qthelp==2.0.0
40+
sphinxcontrib-serializinghtml==2.0.0
41+
stevedore==5.5.0
42+
urllib3==2.5.0

docker/image/Dockerfile

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# This dockerfile is expecting to be run with the following build command
22
# (from the root of the git repository):
33
#
4-
# docker build -f docker/image/Dockerfile .
4+
# $ docker build -f docker/image/Dockerfile --build-arg user=$(id -un) --build-arg uid=$(id -u) -t ros2_documentation .
5+
#
6+
# Then, to use the image to build the docs:
7+
#
8+
# $ docker run --rm -v $(pwd):/tmp/doc_repository ros2_documentation
59

6-
FROM ubuntu:jammy
10+
FROM ubuntu:noble
711

812
ARG user=rosindex
913
ARG uid=1000
@@ -36,4 +40,14 @@ USER $user
3640

3741
# https://build.ros.org/job/doc_ros2doc/ relies on "make multiversion" to build the official documentation.
3842
# Do not remove "make multiversion" from CMD, as it is the entrypoint for the container.
39-
CMD ["bash", "-c", "pip3 install --no-warn-script-location --user -r requirements.txt -c constraints.txt && make multiversion"]
43+
# The constraints.txt file was generated with:
44+
# $ cd ros2_documentation
45+
# $ docker run -v $PWD:/ros2_documentation -it ubuntu:24.04
46+
# (docker)$ cd /ros2_documentation
47+
# (docker)$ apt update
48+
# (docker)$ apt install -y python3-pip python3-venv
49+
# (docker)$ python3 -m venv venv-constraints
50+
# (docker)$ . ./venv-constraints/bin/activate
51+
# (docker)$ pip3 install -U -r requirements.txt
52+
# (docker)$ pip3 freeze > constraints.txt
53+
CMD ["bash", "-c", "pip3 install --no-warn-script-location --user --break-system-packages -r requirements.txt -c constraints.txt && make multiversion"]

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ sphinx-lint
99
sphinx-multiversion
1010
sphinx-rtd-theme
1111
sphinx-tabs
12-
sphinxcontrib-mermaid
1312
sphinx-tamer
13+
sphinxcontrib-googleanalytics
14+
sphinxcontrib-mermaid

0 commit comments

Comments
 (0)