From ef54f08c6334eacc073d02d7734eeae930faa890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 12:42:36 +0000 Subject: [PATCH 01/14] Build ci-base for any branch that includes "docker" in the name. --- .gitlab-ci.yml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a3f9d0..4c288bd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,14 +4,6 @@ variables: DOCKER_DRIVER: overlay2 PACKAGES_LIST: ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace -before_script: - - vcs import < instrumentation.repos - - vcs import < ci_source_deps.repos - - apt-get update - - rosdep update - - rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" - - lttng-sessiond --daemonize - # build: # script: # - colcon build --symlink-install --packages-up-to $PACKAGES_LIST @@ -28,6 +20,12 @@ before_script: build_enabled: script: + - vcs import < instrumentation.repos + - vcs import < ci_source_deps.repos + - apt-get update + - rosdep update + - rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" + - lttng-sessiond --daemonize - colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to $PACKAGES_LIST - colcon test --packages-select $PACKAGES_LIST artifacts: @@ -39,3 +37,14 @@ build_enabled: junit: - build/*/test_results/*/*.xunit.xml - build/*/pytest.xml + except: + - /.*docker.*/ + +ci_base_image: + image: alpine:docker + script: + - cd docker-ci-base && docker build --tag ci-base . + - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com + - docker push ci-base + only: + - /.*docker.*/ \ No newline at end of file From 1cbdbeeec8fd05105a6bdd31b09939ba8c1f9385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 12:43:23 +0000 Subject: [PATCH 02/14] Fix indent. --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c288bd..e8f452a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,8 +37,8 @@ build_enabled: junit: - build/*/test_results/*/*.xunit.xml - build/*/pytest.xml - except: - - /.*docker.*/ + except: + - /.*docker.*/ ci_base_image: image: alpine:docker From bf2670e15737657f280e169e1da760622c1c326c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 12:50:10 +0000 Subject: [PATCH 03/14] Use actually existing docker base image ;-) --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e8f452a..bca3ec0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,7 @@ build_enabled: - /.*docker.*/ ci_base_image: - image: alpine:docker + image: docker:stable script: - cd docker-ci-base && docker build --tag ci-base . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com From 6be5ea48d26ec33a7ab2394999c9c56963bb8839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 13:02:08 +0000 Subject: [PATCH 04/14] Add docker-in-docker --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bca3ec0..7c084c2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,9 @@ variables: DOCKER_DRIVER: overlay2 PACKAGES_LIST: ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace +services. + - docker:dind + # build: # script: # - colcon build --symlink-install --packages-up-to $PACKAGES_LIST From ee6637c4ba08e5e520779269a60a52e75f0e5842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 13:02:59 +0000 Subject: [PATCH 05/14] Fix typo. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7c084c2..ab85142 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ variables: DOCKER_DRIVER: overlay2 PACKAGES_LIST: ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace -services. +services: - docker:dind # build: From f9cf60ae69f6772f7e1830b84b168fe3b07fc6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 14:15:53 +0000 Subject: [PATCH 06/14] Push to our registry --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab85142..0f1015e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -48,6 +48,6 @@ ci_base_image: script: - cd docker-ci-base && docker build --tag ci-base . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com - - docker push ci-base + - docker push registry.gitlab.com/ros_tracing/ros2_tracing/ci-base only: - /.*docker.*/ \ No newline at end of file From c2f42beaf93d461f7ebc0622752ea267bc2136a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 18:45:39 +0000 Subject: [PATCH 07/14] Tag properly. --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0f1015e..9d12272 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ image: registry.gitlab.com/ros_tracing/ros2_tracing/ci-base:latest variables: DOCKER_DRIVER: overlay2 PACKAGES_LIST: ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace + base_image_id: registry.gitlab.com/ros_tracing/ros2_tracing/ci-base services: - docker:dind @@ -46,8 +47,8 @@ build_enabled: ci_base_image: image: docker:stable script: - - cd docker-ci-base && docker build --tag ci-base . + - cd docker-ci-base && docker build --tag $base_image_id . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com - - docker push registry.gitlab.com/ros_tracing/ros2_tracing/ci-base + - docker push $base_image_id only: - /.*docker.*/ \ No newline at end of file From edace42fda8d8cecf0bd1523f21e8f0d31df5798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 19:07:45 +0000 Subject: [PATCH 08/14] Move build of preparatory packages into docker image. --- .gitlab-ci.yml | 7 +------ docker-ci-base/Dockerfile | 6 ++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d7c985b..79df2a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,13 +9,8 @@ services: - docker:dind build_enabled: + image: $base_image_id script: - - vcs import < instrumentation.repos - - vcs import < ci_source_deps.repos - - apt-get update - - rosdep update - - rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" - - apt-get purge -y ros-dashing-fastrtps - lttng-sessiond --daemonize - colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to $PACKAGES_LIST - colcon test --packages-select $PACKAGES_LIST diff --git a/docker-ci-base/Dockerfile b/docker-ci-base/Dockerfile index 8deb9ab..70db41d 100644 --- a/docker-ci-base/Dockerfile +++ b/docker-ci-base/Dockerfile @@ -20,3 +20,9 @@ RUN apt-get install --no-install-recommends -y \ ENV RTI_NC_LICENSE_ACCEPTED=yes RUN apt-get install --no-install-recommends -y \ rti-connext-dds-5.3.1 +RUN vcs import < instrumentation.repos && vcs import < ci_source_deps.repos +RUN apt-get update && rosdep update && rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" +RUN apt-get purge -y ros-dashing-fastrtps + +RUN colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to rclcpp + From 52b80798c8387b8a18f99dbabffeeddf8f825fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Wed, 3 Jul 2019 19:18:05 +0000 Subject: [PATCH 09/14] Copy build dir into docker container. --- docker-ci-base/Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker-ci-base/Dockerfile b/docker-ci-base/Dockerfile index 70db41d..093bb03 100644 --- a/docker-ci-base/Dockerfile +++ b/docker-ci-base/Dockerfile @@ -20,9 +20,12 @@ RUN apt-get install --no-install-recommends -y \ ENV RTI_NC_LICENSE_ACCEPTED=yes RUN apt-get install --no-install-recommends -y \ rti-connext-dds-5.3.1 + +RUN mkdir /root/ws +COPY . /root/ws +WORKDIR /root/ws RUN vcs import < instrumentation.repos && vcs import < ci_source_deps.repos RUN apt-get update && rosdep update && rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" RUN apt-get purge -y ros-dashing-fastrtps RUN colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to rclcpp - From aaa9d6e1f5fa632449df6c2da50f23356ce9bf3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Thu, 4 Jul 2019 08:05:18 +0000 Subject: [PATCH 10/14] Use root directory as build context. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 79df2a3..a650fa0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,7 +29,7 @@ build_enabled: ci_base_image: image: docker:stable script: - - cd docker-ci-base && docker build --tag $base_image_id . + - docker build --tag $base_image_id -f docker-ci-base/Dockerfile - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com - docker push $base_image_id only: From 71ccf3c37e2da51b9c4517b129ef5ee929097c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Thu, 4 Jul 2019 08:07:03 +0000 Subject: [PATCH 11/14] Amend --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a650fa0..36947e9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,7 +29,7 @@ build_enabled: ci_base_image: image: docker:stable script: - - docker build --tag $base_image_id -f docker-ci-base/Dockerfile + - docker build --tag $base_image_id -f docker-ci-base/Dockerfile . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com - docker push $base_image_id only: From b022d7b7b7bfb886fde426383a88bd39e4caae57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Thu, 4 Jul 2019 08:18:37 +0000 Subject: [PATCH 12/14] Source ROS 2 base dir before building. --- docker-ci-base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-ci-base/Dockerfile b/docker-ci-base/Dockerfile index 093bb03..9f79bf5 100644 --- a/docker-ci-base/Dockerfile +++ b/docker-ci-base/Dockerfile @@ -28,4 +28,4 @@ RUN vcs import < instrumentation.repos && vcs import < ci_source_deps.repos RUN apt-get update && rosdep update && rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" RUN apt-get purge -y ros-dashing-fastrtps -RUN colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to rclcpp +RUN source /opt/ros/dashing/setup.bash && colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace From 02c640089f1ce8ff54d8b825f0663c73503a53f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Thu, 4 Jul 2019 08:24:37 +0000 Subject: [PATCH 13/14] SH... --- docker-ci-base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-ci-base/Dockerfile b/docker-ci-base/Dockerfile index 9f79bf5..923babc 100644 --- a/docker-ci-base/Dockerfile +++ b/docker-ci-base/Dockerfile @@ -28,4 +28,4 @@ RUN vcs import < instrumentation.repos && vcs import < ci_source_deps.repos RUN apt-get update && rosdep update && rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" RUN apt-get purge -y ros-dashing-fastrtps -RUN source /opt/ros/dashing/setup.bash && colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace +RUN . /opt/ros/dashing/setup.bash && colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace From bfbd28569f530730be64ef9a2fe574227db691a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20L=C3=BCtkebohle?= Date: Thu, 4 Jul 2019 08:46:42 +0000 Subject: [PATCH 14/14] MOre SH --- docker-ci-base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-ci-base/Dockerfile b/docker-ci-base/Dockerfile index 923babc..3ee6fd8 100644 --- a/docker-ci-base/Dockerfile +++ b/docker-ci-base/Dockerfile @@ -28,4 +28,4 @@ RUN vcs import < instrumentation.repos && vcs import < ci_source_deps.repos RUN apt-get update && rosdep update && rosdep install --from-paths . --ignore-src --rosdistro dashing -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers" RUN apt-get purge -y ros-dashing-fastrtps -RUN . /opt/ros/dashing/setup.bash && colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace +RUN . /opt/ros/dashing/setup.sh && colcon build --symlink-install --cmake-args " -DWITH_LTTNG=ON" --packages-up-to ros2trace tracetools tracetools_launch tracetools_read tracetools_test tracetools_trace