Skip to content

Update dependecies #5595

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 14 commits into
base: rolling
Choose a base branch
from
Draft
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 .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
73 changes: 43 additions & 30 deletions constraints.txt
Original file line number Diff line number Diff line change
@@ -1,36 +1,49 @@
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==0.7.16
Copy link
Contributor Author

@Nils-ChristianIseke Nils-ChristianIseke May 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed dependencies to latest available versions because they are working with all tools (didn't worked with the apt version out of the box). Or is there a specific reason to stick to the dep availible via apt?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's OK here if it works, especially since 24.04 is the latest Ubuntu LTS.

Copy link
Member

@christophebedard christophebedard Jun 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

however, for traceability, can you provide the commands you ran to bump the versions and update the constraints.txt file?

I did this in a ubuntu:22.04 container after installing python3-pip and python3-venv:

$ python3 -m venv venv
$ . ./venv/bin/activate
$ pip3 install -r requirements.txt -c constraints.txt
$ pip3 install -U -r requirements.txt
$ pip3 freeze > constraints.txt

and the result is a bit different:

diff --git a/constraints.txt b/constraints.txt
index 1e3e88b3..bbc03a66 100644
--- a/constraints.txt
+++ b/constraints.txt
@@ -1,34 +1,30 @@
-alabaster==0.7.16
-atomicwrites==1.4.1
-attrs==25.3.0
-babel==2.17.0
-certifi==2025.4.26
+alabaster==1.0.0
+Babel==2.14.0
+certifi==2020.6.20
+chardet==4.0.0
 charset-normalizer==3.4.2
-click==8.1.8
+click==8.2.1
 codespell==2.4.1
-doc8==1.1.2
+doc8==2.0.0
 docutils==0.21.2
-idna==3.10
-imagesize==1.4.1
+idna==2.10
+imagesize==1.3.0
 iniconfig==2.1.0
 Jinja2==3.1.6
-MarkupSafe==3.0.2
-more-itertools==10.7.0
+MarkupSafe==2.0.1
 packaging==25.0
-pbr==6.1.1
-pluggy==1.5.0
+pbr==5.8.0
+pluggy==1.6.0
 polib==1.2.0
-py==1.11.0
-Pygments==2.19.1
-pytest==8.3.5
+Pygments==2.17.2
+pyparsing==2.4.7
+pytest==8.4.1
 PyYAML==6.0.2
 regex==2024.11.6
-requests==2.32.3
-restructuredtext_lint==1.4.0
+requests==2.32.4
+restructuredtext_lint==1.3.2
 roman-numerals-py==3.1.0
-setuptools==80.3.1
-six==1.17.0
-snowballstemmer==3.0.0.1
+snowballstemmer==2.2.0
 Sphinx==8.2.3
 sphinx-copybutton==0.5.2
 sphinx-lint==1.0.0
@@ -38,12 +34,11 @@ sphinx-tabs==3.4.7
 sphinx_tamer==0.2.0
 sphinxcontrib-applehelp==2.0.0
 sphinxcontrib-devhelp==2.0.0
-sphinxcontrib-googleanalytics==0.4
 sphinxcontrib-htmlhelp==2.1.0
 sphinxcontrib-jquery==4.1
 sphinxcontrib-jsmath==1.0.1
 sphinxcontrib-mermaid==1.0.0
 sphinxcontrib-qthelp==2.0.0
-sphinxcontrib-serializinghtml==2.0.0
-stevedore==5.4.1
-urllib3==2.4.0
+sphinxcontrib-serializinghtml==1.1.10
+stevedore==3.5.0
+urllib3==1.26.5

atomicwrites==1.4.1
attrs==25.3.0
babel==2.17.0
certifi==2025.4.26
charset-normalizer==3.4.2
click==8.1.8
codespell==2.4.1
doc8==1.1.2
docutils==0.21.2
idna==3.10
imagesize==1.4.1
iniconfig==2.1.0
Jinja2==3.1.6
MarkupSafe==3.0.2
more-itertools==10.7.0
packaging==25.0
pbr==6.1.1
pluggy==1.5.0
polib==1.2.0
Pygments==2.17.2
pyparsing==2.4.7
py==1.11.0
Pygments==2.19.1
pytest==8.3.5
pytz==2022.1
requests==2.25.1
restructuredtext_lint==1.3.2
snowballstemmer==2.2.0
Sphinx==7.2.6
PyYAML==6.0.2
regex==2024.11.6
requests==2.32.3
restructuredtext_lint==1.4.0
roman-numerals-py==3.1.0
setuptools==80.3.1
six==1.17.0
snowballstemmer==3.0.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.4
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.4.1
urllib3==2.4.0
12 changes: 8 additions & 4 deletions docker/image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# docker build -f docker/image/Dockerfile .

FROM ubuntu:jammy
FROM ubuntu:noble

ARG user=rosindex
ARG uid=1000
Expand All @@ -20,7 +20,8 @@ RUN apt-get update && \
graphviz \
locales \
make \
python3-pip && \
python3-pip \
python3-venv && \
rm -rf /var/lib/apt/lists/*

RUN locale-gen en_US en_US.UTF-8
Expand All @@ -32,6 +33,9 @@ ENV HOME=/home/$user
ENV PATH=/home/$user/.local/bin:$PATH
WORKDIR /tmp/doc_repository

USER $user
CMD ["bash", "-c", "source /opt/ros2doc/bin/activate && make multiversion"]
RUN python3 -m venv /opt/ros2doc
COPY requirements.txt constraints.txt .
RUN . /opt/ros2doc/bin/activate && pip3 install -r requirements.txt -c constraints.txt

CMD ["bash", "-c", "pip3 install --no-warn-script-location --user -r requirements.txt -c constraints.txt && make multiversion"]
USER $user
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