Skip to content
New issue

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

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

Already on GitHub? # to your account

Update docker image to humble #165

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open

Update docker image to humble #165

wants to merge 18 commits into from

Conversation

koonpeng
Copy link

Update docker image to humble

Teo Koon Peng added 5 commits June 30, 2022 11:05
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
@koonpeng koonpeng mentioned this pull request Jun 30, 2022
5 tasks
@koonpeng koonpeng requested a review from youliangtan June 30, 2022 03:33
Teo Koon Peng added 3 commits June 30, 2022 16:22
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Teo Koon Peng added 8 commits July 1, 2022 11:36
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
Teo Koon Peng added 2 commits July 12, 2022 15:28
Signed-off-by: Teo Koon Peng <koonpeng@openrobotics.org>
This reverts commit 5b49845.
@youliangtan
Copy link
Member

Thanks for updating the docker build process and migrating it to humble. 2 questions straight out of my mind:

  1. Should we still retain the 20.04+galactic CI? And should we tag the latest main as a release for galactic before upgrade it to humble?
  2. it seems like now the docker build process will utilizermf_deployment_template build/rmf branch's img as the base img. I am just thinking about the maintenance of multiple repositories. 🤔

@koonpeng
Copy link
Author

Should we still retain the 20.04+galactic CI? And should we tag the latest main as a release for galactic before upgrade it to humble?

I think managing multiple releases is a good idea if we want to continue supporting galactic.

it seems like now the docker build process will utilizermf_deployment_template build/rmf branch's img as the base img. I am just thinking about the maintenance of multiple repositories. thinking

That's a great question, I would like to reduce duplication as well, which is why I reuse the image from the deployment example. A problem with the example images now is that it builds all of rmf in a single image and each component just have a different entry point. I think it will be a good idea to have a universal builder image that can be used by all other rmf repos and have each component build only the packages it needs. The question though is if we should spread all the dockerfile to each repos or consolidate them all in one repo 🤔 .

@youliangtan
Copy link
Member

I agree that it is a good idea to use a common dockerfile across multiple rmf project. I have updated the dockerfiles in rmf_deployment_template with the support of different ROS_DISTRO. Hopefully, open-rmf/rmf_deployment_template#5 addresses this.

@youliangtan
Copy link
Member

youliangtan commented Aug 3, 2022

Currently we have a similar CI here.

We can indicate the img's ros distro with either ROS_DISTRO=galactic or ROS_DISTRO=humble

      -
        name: Build builder-rosdep
        uses: docker/build-push-action@v3
        with:
          context: .
          file: rmf-dockerfiles/rmf/builder-rosdep.Dockerfile
          build-args: |
            BASE_REGISTRY=${{ env.base_registry }}
            ROS_DISTRO=galactic
          push: true
          tags: ${{ env.builder_ns }}/builder-rosdep:latest

Maybe just update the CI here to utilize the dockerfiles in rmf_deployment_template?

@Yadunund Yadunund mentioned this pull request Aug 25, 2022
@Yadunund
Copy link
Member

@koonpeng any blockers for this?

I've opened #202 to update the galactic branch so that it will continue to build packages for galactic. I think it will be good to have this merged so that main builds with humble.

@koonpeng
Copy link
Author

Yeah, open-rmf/rmf_traffic_editor#439 is blocking

@@ -0,0 +1,15 @@
repositories:
Copy link
Member

Choose a reason for hiding this comment

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

Wondering if we should keep the .repos file here or use the ones in the deployment repo, for example for simulation and main rmf.
From what I understand they are going to be the same, so we can avoid maintaining them in both repos?
Removing them would reduce duplication but would cause quite some trouble since all downstream actions would have to change the url of their vcs file, so I can see arguments both ways

Copy link
Author

Choose a reason for hiding this comment

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

I think the repos file should not be the same. These repos file here tracks the branch which makes it very problematic for reproducible builds and deployments. That does mean we will have to maintain multiple copies of each repos file 😞 .

Comment on lines -70 to -73
thirdparty/ros_ign:
type: git
url: https://github.com/ignitionrobotics/ros_ign.git
version: galactic
Copy link
Member

Choose a reason for hiding this comment

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

If we are going for a split of rmf.repos into deployment and simulation files we should probably remove rmf_simulation, menge_vendor and rmf_demos from this file.

```

### RMF Demos

A good way to install the `rmf` set of packages in one go is to install the one of the main [RMF Demos](https://github.com/open-rmf/rmf_demos) packages. This will pull all the rest of the OpenRMF packages as a dependency. The core of RMF demos is contained on the `rmf_demos` package. However, if you want to install it with simulation support, you should install the `rmf_demos_gz` or `rmf_demos_ign` package which come with gazebo or ignition support respectively. As an example, to install the ROS 2 Galactic release with gazebo support package, you would run:
A good way to install the `rmf` set of packages in one go is to install the one of the main [RMF Demos](https://github.com/open-rmf/rmf_demos) packages. This will pull all the rest of the OpenRMF packages as a dependency. The core of RMF demos is contained on the `rmf_demos` package. However, if you want to install it with simulation support, you should install the `rmf_demos_gz` or `rmf_demos_ign` package which come with gazebo or ignition support respectively. As an example, to install the ROS 2 Humble release with gazebo support package, you would run:
Copy link
Member

Choose a reason for hiding this comment

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

Once it is finalized (i.e. this is merged) we should probably update this to the Gazebo renaming (ign -> gz and gz -> gz_classic)

@@ -26,18 +26,18 @@ wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

## Binary install

OpenRMF binary packages are available for Ubuntu Focal 20.04 for the `Foxy`, `Galactic` and `Rolling` releases of ROS 2. Most OpenRMF packages have the prefix `rmf` on their name, therefore, you can find them by them by searching for the pattern `ros-<ro2distro>-rmf`, e.g., for galatic it would be:
Latest OpenRMF binary packages are available for Ubuntu Jammy 22.04 for the `Humble` and `Rolling` releases of ROS 2. Older releases are also available on Ubuntu Focal 20.04 for `Foxy` and `Galactic`. Most OpenRMF packages have the prefix `rmf` on their name, therefore, you can find them by them by searching for the pattern `ros-<ro2distro>-rmf`, e.g., for galatic it would be:
Copy link
Member

Choose a reason for hiding this comment

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

Nit, for galatic -> for humble

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants