From 045a1bad23aaafdbfcb64926fdbd81973c124b7a Mon Sep 17 00:00:00 2001 From: matlabbe Date: Mon, 21 Sep 2026 19:22:11 -0700 Subject: [PATCH] run tests in docker ci --- .dockerignore | 8 ++++++++ .github/workflows/docker-ros.yml | 2 ++ docker/focal/Dockerfile | 5 ++++- docker/jammy/Dockerfile | 5 ++++- docker/noble-kilted/Dockerfile | 5 ++++- docker/noble/Dockerfile | 5 ++++- docker/resolute/Dockerfile | 5 ++++- 7 files changed, 30 insertions(+), 5 deletions(-) diff --git a/.dockerignore b/.dockerignore index 1badba74..08902f6d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,10 @@ build/* build_* + +data/tests/*.db +data/tests/*.7z +data/tests/*.zip +data/tests/*.pt +data/tests/*.pth +data/tests/*.py +data/tests/__pycache__/ diff --git a/.github/workflows/docker-ros.yml b/.github/workflows/docker-ros.yml index 05b8307f..0afa2621 100644 --- a/.github/workflows/docker-ros.yml +++ b/.github/workflows/docker-ros.yml @@ -170,6 +170,8 @@ jobs: push: ${{ github.event_name != 'pull_request' }} platforms: ${{ matrix.docker_platform }} file: ./docker/${{ matrix.docker_dir }}/Dockerfile + build-args: | + RUN_TESTS=1 tags: introlab3it/rtabmap:${{ matrix.docker_dir }}-${{ matrix.arch }} cache-from: type=registry,ref=introlab3it/rtabmap:${{ matrix.docker_dir }}-${{ matrix.arch }} cache-to: type=inline diff --git a/docker/focal/Dockerfile b/docker/focal/Dockerfile index d6a3e866..06cc5490 100644 --- a/docker/focal/Dockerfile +++ b/docker/focal/Dockerfile @@ -8,11 +8,14 @@ RUN mkdir -p /root/Documents/RTAB-Map && chmod 777 /root/Documents/RTAB-Map # Copy current source code COPY . /root/rtabmap +ARG RUN_TESTS=0 + # Build RTAB-Map project RUN source /ros_entrypoint.sh && \ cd rtabmap/build && \ - cmake -DWITH_ALICE_VISION=ON -DWITH_OPENGV=ON .. && \ + cmake -DWITH_ALICE_VISION=ON -DWITH_OPENGV=ON -DBUILD_TESTING=$RUN_TESTS .. && \ make -j4 && \ + if [ "$RUN_TESTS" = "1" ]; then ctest --output-on-failure -LE "long|performance"; fi && \ make install && \ cd ../.. && \ rm -rf rtabmap && \ diff --git a/docker/jammy/Dockerfile b/docker/jammy/Dockerfile index c28543ec..731a88e1 100644 --- a/docker/jammy/Dockerfile +++ b/docker/jammy/Dockerfile @@ -8,11 +8,14 @@ RUN mkdir -p /root/Documents/RTAB-Map && chmod 777 /root/Documents/RTAB-Map # Copy current source code COPY . /root/rtabmap +ARG RUN_TESTS=0 + # Build RTAB-Map project RUN source /ros_entrypoint.sh && \ cd rtabmap/build && \ - cmake -DWITH_OPENGV=ON .. && \ + cmake -DWITH_OPENGV=ON -DBUILD_TESTING=$RUN_TESTS .. && \ make -j4 && \ + if [ "$RUN_TESTS" = "1" ]; then ctest --output-on-failure -LE "long|performance"; fi && \ make install && \ cd ../.. && \ rm -rf rtabmap && \ diff --git a/docker/noble-kilted/Dockerfile b/docker/noble-kilted/Dockerfile index 5c6a955a..2d3059d6 100644 --- a/docker/noble-kilted/Dockerfile +++ b/docker/noble-kilted/Dockerfile @@ -8,11 +8,14 @@ RUN mkdir -p /root/Documents/RTAB-Map && chmod 777 /root/Documents/RTAB-Map # Copy current source code COPY . /root/rtabmap +ARG RUN_TESTS=0 + # Build RTAB-Map project RUN source /ros_entrypoint.sh && \ cd rtabmap/build && \ - cmake -DWITH_OPENGV=ON .. && \ + cmake -DWITH_OPENGV=ON -DBUILD_TESTING=$RUN_TESTS .. && \ make -j4 && \ + if [ "$RUN_TESTS" = "1" ]; then ctest --output-on-failure -LE "long|performance"; fi && \ make install && \ cd ../.. && \ rm -rf rtabmap && \ diff --git a/docker/noble/Dockerfile b/docker/noble/Dockerfile index 88d9e042..3b119c53 100644 --- a/docker/noble/Dockerfile +++ b/docker/noble/Dockerfile @@ -8,11 +8,14 @@ RUN mkdir -p /root/Documents/RTAB-Map && chmod 777 /root/Documents/RTAB-Map # Copy current source code COPY . /root/rtabmap +ARG RUN_TESTS=0 + # Build RTAB-Map project RUN source /ros_entrypoint.sh && \ cd rtabmap/build && \ - cmake -DWITH_OPENGV=ON .. && \ + cmake -DWITH_OPENGV=ON -DBUILD_TESTING=$RUN_TESTS .. && \ make -j4 && \ + if [ "$RUN_TESTS" = "1" ]; then ctest --output-on-failure -LE "long|performance"; fi && \ make install && \ cd ../.. && \ rm -rf rtabmap && \ diff --git a/docker/resolute/Dockerfile b/docker/resolute/Dockerfile index 8e043f61..f5f9bda9 100644 --- a/docker/resolute/Dockerfile +++ b/docker/resolute/Dockerfile @@ -8,11 +8,14 @@ RUN mkdir -p /root/Documents/RTAB-Map && chmod 777 /root/Documents/RTAB-Map # Copy current source code COPY . /root/rtabmap +ARG RUN_TESTS=0 + # Build RTAB-Map project RUN source /ros_entrypoint.sh && \ cd rtabmap/build && \ - cmake -DWITH_OPENGV=ON .. && \ + cmake -DWITH_OPENGV=ON -DBUILD_TESTING=$RUN_TESTS .. && \ make -j4 && \ + if [ "$RUN_TESTS" = "1" ]; then ctest --output-on-failure -LE "long|performance"; fi && \ make install && \ cd ../.. && \ rm -rf rtabmap && \