Update requirements.txt to Ubuntu 22.04#465
Update requirements.txt to Ubuntu 22.04#465AlexeyMerzlyakov wants to merge 2 commits intoros-navigation:masterfrom
Conversation
|
Also, it is highly wanted if someone to verify these changes won't break CircleCI builds |
|
#466 to get CI to run. The last time we made updates to this, alot of the website broke. I'd just go through the website for a few minutes and make sure you don't run into any weird issues. The only one I see from CI right now is below on the build and install page (there used to be little paragraph signs). I don't care about the symbol; remove it if you like. I just don't want a missing unicode icon.
CI runs focal, so should that be updated in the circleci config?
I just noticed this issue as well when building another tutorial. This looks related to the Collision Detector node PR where we split up the pages |
|
I think you also need to update the install instructions in circleci and the instructions in the readme |
I've made side-by-side comparison of 2 Docker containers: vanilla There are the following changes I've noted: Change 1 Actually, in However, for some reasons inside vanilla Sphinx 3.5.0, we did not see the support of newer claimed Therefore, it seems that bug in render/fonts over the bug Sphinx 3.5.0 gives us a correct way to build html. Change 2 Change 3 Moreover, if I click to the found with some keyword page, the results are not being highlighted on it, as it made on vanilla configuration: I could add "...?highligh=navigation" post-fix in the address-string and the results will be highlighted for updated version too, but this is not made by-default.
I've tried to align it with currently officially supported by ROS2-Rolling Jammy, but this might be somehow not straightforward, as I thought.
Fixed by #464 From the above, it seems like we are opening a can of worms, when trying to update the Sphinx, which will take a lot of analysis and resources spent. So, for now, I'd like to think about to postpone the task for better times, or when we will have a need to update this: now despite of installation errors, the configuration works on CI, so it is really questionable in the reasonableness to do this. |






Proposed solution
This is attempt to fix the #364 , which
requirements.txtis out of date for Ubuntu 22.04.The following pip3 requirements were updated (empty fields in columns 2 and 3 mean that package version is unspecified):
4.28.0is incompatible with Sphinx abovev3.6, so updating the version and fix it to the currently working4.35.00.15<=docutils<0.20. The docutils version can not be relaxed, assphinx 5.3.0,myst-parser 1.0.0andsphinx-rtd-themehave restrictions from above on the upper version of it, so switching it to the next sub-version.v4.2.0. However, myst-parser 1.0.0 requires5<=sphinx<7and latest breathe (4.35.0) is not compatible withSphinx==5.0.0, so choosing latest Sphinx of version 5 line, which is5.3.0Verification results
Tested on local Ubuntu 22.04 machine and
ubuntu:focalDocker container locally repeating CircleCI steps and configuration.Pip3 install and make html logs on Docker container with vanilla
requirements.txtare attached below:pip3_install_vanilla.log
make_html_vanilla.log
There is the following issue appear on Ubuntu 20.04:
The same error messages are also observed on CircleCI ("Install Doc Dependencies" phase):
https://app.circleci.com/pipelines/github/ros-planning/navigation.ros.org/1899/workflows/f70556c1-22e1-4320-8912-6e6fc427e52b/jobs/2208
Logs after applying the changes from above requirements table, are listed here:
pip3_install_new.log
make_html_new.log
All error messages on
pip3 installphase were disappeared.On
make htmlstage one new warning message appear:This message was introduced in Sphinx 4.0 (https://www.sphinx-doc.org/en/master/changes.html#release-4-0-0-released-may-09-2021) and thus will be appeared in any Sphinx update configuration. This is not critical issue for now and requires an attention on next Sphinx 6++ version update, I suppose.
The documentation build passes and generates HTML well for the new configuration.