Skip to content

Conversation

Nils-ChristianIseke
Copy link
Contributor

@Nils-ChristianIseke Nils-ChristianIseke commented May 9, 2025

Use noble for CI.

@Nils-ChristianIseke Nils-ChristianIseke marked this pull request as draft May 9, 2025 15:12
@Nils-ChristianIseke Nils-ChristianIseke mentioned this pull request May 9, 2025
4 tasks
@Nils-ChristianIseke Nils-ChristianIseke marked this pull request as ready for review May 10, 2025 12:58
@Nils-ChristianIseke
Copy link
Contributor Author

@christophebedard some open questions from my side. Happy if you could have a look?

@christophebedard christophebedard self-requested a review May 10, 2025 13:06
@christophebedard
Copy link
Member

I will take a look once I'm back from vacation on Tuesday-ish!

@christophebedard christophebedard self-assigned this May 22, 2025
Copy link
Member

@christophebedard christophebedard left a comment

Choose a reason for hiding this comment

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

Sorry for the delay. I have some comments and suggestions.

@Nils-ChristianIseke
Copy link
Contributor Author

Thank you @christophebedard !

Copy link
Collaborator

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

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

thanks for the PR. a couple of comments.

@Nils-ChristianIseke Nils-ChristianIseke marked this pull request as draft June 24, 2025 05:57
@christophebedard
Copy link
Member

from my end, I think we just need to clarify how the constraints.txt file was updated, and then we're good.

@christophebedard
Copy link
Member

@Nils-ChristianIseke do you plan to continue working on this PR? The only thing missing is documenting how you generated the constraints.txt file: #5595 (comment).

If you don't have time, that's OK, I can take over.

@christophebedard
Copy link
Member

christophebedard commented Oct 7, 2025

Ah, I think it was missing the context, since previously requirements.txt and constraints.txt weren't COPYied during the image build. And the postCreateCommand needed to be updated.

The only other "issue" left is that the venv isn't sourced when you open a terminal, so you need to source it manually (. /opt/ros2doc/bin/activate) before building (make html). Do you know how to make it source this automatically?

@fujitatomoya
Copy link
Collaborator

i think that we need to rely on the shell in the userland of container, devcontainer does not have control this user environment.

before adding this change, how come do we need the python venv in the 1st place? having docker build environment is kinda dedicated and containerized environment for this specific task? then why do we need python venv??? what is the benefit to have python venv? i maybe missed some context here...

@christophebedard
Copy link
Member

I think it was meant to be a cleaner/more modern alternative to using --break-system-packages (to get rid of the corresponding error in the Python version shipped with 24.04). And having to install pip dependencies as the user (not simply in a venv) inside the Docker container makes dealing with user/UID a bit more complicated. However, it seems to work, so I guess we can go with that.

@christophebedard
Copy link
Member

christophebedard commented Oct 7, 2025

But, in my opinion, there are too many ways to build the docs:

  1. Locally using venv (simplest)
  2. GitHub Codespaces
  3. Devcontainer
  4. Docker image (what's used by CI)

I think the Codespace and devcontainer options are secondary, and I wouldn't necessarily avoid using venvs (and use a more fragile & less modern approach) in the 4th option just to avoid running 1 command in a devcontainer terminal.

@fujitatomoya
Copy link
Collaborator

@christophebedard thanks for fixing up.

i usually use devcontainer to build and test the documentation, Codespaces is actually devcontainer.
AFAIK, we do not really promote using docker directly to the user, right? that means, we actually maintain 2 ways to build the documentation, i say that is not bad ... 🤔

anyway, lgtm 👍 i think we can address minor adjustment if there are, once we upgrade the base system to ubuntu 24.04. again, thanks for addressing the comments.

@christophebedard
Copy link
Member

I'll run a test doc build/deployment job again (after my last changes) tomorrow just to make sure it's still good.

@claraberendsen
Copy link
Contributor

Merging this PR will just make the existing build.ros.org/job/doc_ros2doc/ job use the updated 24.04 Docker image to build the docs instead of a 22.04 image. Does that sound good to you?

Yes! Thanks for the work here, it's separate but part of the same migration and I was trying to land both so we can push everything to 24.04.

@christophebedard
Copy link
Member

I tested again locally + using a test job, it looks good. Let's merge this!

@christophebedard christophebedard merged commit 7815bc5 into ros2:rolling Oct 11, 2025
6 checks passed
@christophebedard christophebedard added the backport-all backport at reviewers discretion; from rolling to all versions label Oct 11, 2025
mergify bot pushed a commit that referenced this pull request Oct 11, 2025
Signed-off-by: Nils-Christian Iseke <[email protected]>
Signed-off-by: Christophe Bedard <[email protected]>
Co-authored-by: Christophe Bedard <[email protected]>
(cherry picked from commit 7815bc5)
mergify bot pushed a commit that referenced this pull request Oct 11, 2025
Signed-off-by: Nils-Christian Iseke <[email protected]>
Signed-off-by: Christophe Bedard <[email protected]>
Co-authored-by: Christophe Bedard <[email protected]>
(cherry picked from commit 7815bc5)
mergify bot pushed a commit that referenced this pull request Oct 11, 2025
Signed-off-by: Nils-Christian Iseke <[email protected]>
Signed-off-by: Christophe Bedard <[email protected]>
Co-authored-by: Christophe Bedard <[email protected]>
(cherry picked from commit 7815bc5)

# Conflicts:
#	README.md
@christophebedard
Copy link
Member

christophebedard commented Oct 11, 2025

I'm backporting this, because we generally keep the same build setup on all branches. The actual CI job that builds docs only uses the rolling branch, but other branches may be used by someone making a single-branch build from the humble branch, for example.

christophebedard added a commit that referenced this pull request Oct 11, 2025
(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]>
christophebedard added a commit that referenced this pull request Oct 11, 2025
(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]>
christophebedard added a commit that referenced this pull request Oct 11, 2025
* Update dependencies and bump CI Docker image to 24.04 (#5595)

Signed-off-by: Nils-Christian Iseke <[email protected]>
Signed-off-by: Christophe Bedard <[email protected]>
Co-authored-by: Christophe Bedard <[email protected]>
(cherry picked from commit 7815bc5)

Signed-off-by: Christophe Bedard <[email protected]>
Co-authored-by: Nils-Christian Iseke <[email protected]>
Co-authored-by: Christophe Bedard <[email protected]>
@christophebedard
Copy link
Member

christophebedard commented Oct 13, 2025

I did a quick check. The doc_ros2doc job on build.ros.org has been working fine with an Ubuntu 24.04-based image (to build the docs) for a couple of days now, so all good: https://build.ros.org/job/doc_ros2doc/1868/consoleFull#console-section-9

@fujitatomoya
Copy link
Collaborator

@christophebedard thanks for checking that, that is good to know 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-all backport at reviewers discretion; from rolling to all versions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants