diff --git a/.docker/ci-testing/Dockerfile b/.docker/ci-testing/Dockerfile index 88ee8eb1ee..45c18e07d6 100644 --- a/.docker/ci-testing/Dockerfile +++ b/.docker/ci-testing/Dockerfile @@ -1,12 +1,20 @@ -# ghcr.io/ros-planning/moveit2:${ROS_DISTRO}-ci-testing +# ghcr.io/ros-planning/moveit2:${OUR_ROS_DISTRO}-ci-testing # CI image using the ROS testing repository -ARG ROS_DISTRO=rolling FROM osrf/ros2:testing LABEL maintainer Robert Haschke rhaschke@techfak.uni-bielefeld.de ENV TERM xterm +# Overwrite the ROS_DISTRO set in osrf/ros2:testing to the distro tied to this Dockerfile (OUR_ROS_DISTRO). +# In case ROS_DISTRO is now different from what was set in osrf/ros2:testing, run `rosdep update` again +# to get any missing dependencies. +# https://docs.docker.com/engine/reference/builder/#using-arg-variables explains why ARG and ENV can't have +# the same name (ROS_DISTRO is an ENV in the osrf/ros2:testing image). +ARG OUR_ROS_DISTRO=rolling +ENV ROS_DISTRO=${OUR_ROS_DISTRO} +RUN rosdep update --rosdistro $ROS_DISTRO + # Install ROS 2 base packages and build tools # We are installing ros--ros-base here to mimic the behavior of the ros:-ros-base images. # This step is split into a separate layer so that we can rely on cached dependencies instead of having diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 35e75e1db4..68ac0ba0e0 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -131,7 +131,7 @@ jobs: uses: docker/build-push-action@v4 with: file: .docker/${{ github.job }}/Dockerfile - build-args: ROS_DISTRO=${{ matrix.ROS_DISTRO }} + build-args: OUR_ROS_DISTRO=${{ matrix.ROS_DISTRO }} push: ${{ env.PUSH }} no-cache: true tags: |