open-rmf / rmf

Root repository for the RMF software
Apache License 2.0
225 stars 58 forks source link

Update docker image to humble #165

Open koonpeng opened 2 years ago

koonpeng commented 2 years ago

Update docker image to humble

youliangtan commented 1 year ago

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. :thinking:
koonpeng commented 1 year ago

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 :thinking: .

youliangtan commented 1 year ago

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, https://github.com/open-rmf/rmf_deployment_template/pull/5 addresses this.

youliangtan commented 1 year ago

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 commented 1 year ago

@koonpeng any blockers for this?

I've opened https://github.com/open-rmf/rmf/pull/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 commented 1 year ago

Yeah, https://github.com/open-rmf/rmf_traffic_editor/issues/439 is blocking