From 4bb61b2c6840de89ec5daecf5135619ed764dd1e Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sat, 18 Mar 2017 22:38:58 +0100 Subject: [PATCH 1/8] Add Circle-ci --- circle.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 circle.yml diff --git a/circle.yml b/circle.yml new file mode 100644 index 0000000..7752d59 --- /dev/null +++ b/circle.yml @@ -0,0 +1,7 @@ +machine: + services: + - docker + + + + From 922624f6fa3a50c43a610e62aa001e885cf7e571 Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sat, 18 Mar 2017 23:23:08 +0100 Subject: [PATCH 2/8] Add first script --- circle.yml | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index 7752d59..bf15384 100644 --- a/circle.yml +++ b/circle.yml @@ -1,7 +1,39 @@ machine: services: - docker - - - - + environment: + - HOME_BUILD: $HOME/build + - ROS2WS: $HOME_BUILD/ros2_java_ws + +dependencies: + cache_directories: + - .autoconf + - $HOME/.m2 + - $HOME/.gradle + override: + - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} -e ${DOCKER_EMAIL} + - docker pull theosakamg7/ros2java:latest + - cd $HOME_BUILD && env | grep -E '^TRAVIS_' > .env + - env | grep -E '^COVERALLS_' >> .env + - env | grep -E '^CI_' >> .env + - echo -e "CI_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER\nCI_PULL_REQUEST=$TRAVIS_PULL_REQUEST\nCI_BRANCH=$TRAVIS_BRANCH\nCI_BUILD_URL=$" >> .env + - echo "INSTALL/BUILD ROS2 AMENT..." + - cd $HOME_BUILD && mkdir -p ament_ws/src && cd $HOME_BUILD/ament_ws + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/e6084cfafa6b7ea690104424cef970a2/raw/ament_java.repos" + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ament_java.repos" + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "src/ament/ament_tools/scripts/ament.py build --symlink-install --isolated" + - echo "INSTALL ROS2 WS..." + - cd $HOME_BUILD && mkdir -p $ROS2WS/src && cd $ROS2WS + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/d9259bbc708c5145255fbdeb25e65e19/raw/ros2_java_desktop.repos" + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ros2_java_desktop.repos" + - cd $ROS2WS/src/ros2/rosidl_typesupport && patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff + - cd $ROS2WS/src/eProsima/Fast-RTPS && git submodule init && git submodule update + - rm -rf $ROS2WS/src/ros2_java/ros2_java_utils && ln -s $HOME_BUILD/ros2java-alfred/ros2_java_utils $ROS2WS/src/ros2_java/ros2_java_utils + - echo "BUILD ROS2 WS..." + - cd $HOME_BUILD + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && ament build --symlink-install --isolated --skip-packages $PKG_EXCLUDE --ament-gradle-args --parallel --daemon --configure-on-demand" + +test: + override: + - cd $HOME_BUILD && docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && . ./install_isolated/local_setup.sh && ament test --symlink-install --isolated --only-packages rcljava_utils --ament-gradle-args --parallel --daemon --configure-on-demand" + From 0a652d20f5b1f81f8a59eb357bd710607f74e4f5 Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sat, 18 Mar 2017 23:26:19 +0100 Subject: [PATCH 3/8] Fixed env variable --- circle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index bf15384..c16994e 100644 --- a/circle.yml +++ b/circle.yml @@ -2,8 +2,8 @@ machine: services: - docker environment: - - HOME_BUILD: $HOME/build - - ROS2WS: $HOME_BUILD/ros2_java_ws + HOME_BUILD: ${HOME}/build + ROS2WS: ${HOME_BUILD}/ros2_java_ws dependencies: cache_directories: From 4861190227404ade51f8ac67a4b728fb0eb0e308 Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sat, 18 Mar 2017 23:35:31 +0100 Subject: [PATCH 4/8] Fix env variables syntaxe --- circle.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/circle.yml b/circle.yml index c16994e..fadf982 100644 --- a/circle.yml +++ b/circle.yml @@ -13,25 +13,25 @@ dependencies: override: - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} -e ${DOCKER_EMAIL} - docker pull theosakamg7/ros2java:latest - - cd $HOME_BUILD && env | grep -E '^TRAVIS_' > .env - - env | grep -E '^COVERALLS_' >> .env + - mkdir ${HOME_BUILD} && cd ${HOME_BUILD} && env | grep -E '^TRAVIS_' > .env + - env | grep -E '^CIRCLE_' >> .env - env | grep -E '^CI_' >> .env - echo -e "CI_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER\nCI_PULL_REQUEST=$TRAVIS_PULL_REQUEST\nCI_BRANCH=$TRAVIS_BRANCH\nCI_BUILD_URL=$" >> .env - echo "INSTALL/BUILD ROS2 AMENT..." - - cd $HOME_BUILD && mkdir -p ament_ws/src && cd $HOME_BUILD/ament_ws + - cd ${HOME_BUILD} && mkdir -p ament_ws/src && cd ${HOME_BUILD}/ament_ws - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/e6084cfafa6b7ea690104424cef970a2/raw/ament_java.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ament_java.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "src/ament/ament_tools/scripts/ament.py build --symlink-install --isolated" - echo "INSTALL ROS2 WS..." - - cd $HOME_BUILD && mkdir -p $ROS2WS/src && cd $ROS2WS + - cd ${HOME_BUILD} && mkdir -p ${ROS2WS}/src && cd ${ROS2WS} - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/d9259bbc708c5145255fbdeb25e65e19/raw/ros2_java_desktop.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ros2_java_desktop.repos" - - cd $ROS2WS/src/ros2/rosidl_typesupport && patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff - - cd $ROS2WS/src/eProsima/Fast-RTPS && git submodule init && git submodule update - - rm -rf $ROS2WS/src/ros2_java/ros2_java_utils && ln -s $HOME_BUILD/ros2java-alfred/ros2_java_utils $ROS2WS/src/ros2_java/ros2_java_utils + - cd ${ROS2WS}/src/ros2/rosidl_typesupport && patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff + - cd ${ROS2WS}/src/eProsima/Fast-RTPS && git submodule init && git submodule update + - rm -rf ${ROS2WS}/src/ros2_java/ros2_java_utils && ln -s ${HOME_BUILD}/ros2java-alfred/ros2_java_utils ${ROS2WS}/src/ros2_java/ros2_java_utils - echo "BUILD ROS2 WS..." - - cd $HOME_BUILD - - docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && ament build --symlink-install --isolated --skip-packages $PKG_EXCLUDE --ament-gradle-args --parallel --daemon --configure-on-demand" + - cd ${HOME_BUILD} + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && ament build --symlink-install --isolated --skip-packages ${PKG_EXCLUDE} --ament-gradle-args --parallel --daemon --configure-on-demand" test: override: From 1141a288754718f6ff9dffbd10f678102c26ef72 Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sat, 18 Mar 2017 23:42:39 +0100 Subject: [PATCH 5/8] One command by line --- circle.yml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/circle.yml b/circle.yml index fadf982..ceda2ef 100644 --- a/circle.yml +++ b/circle.yml @@ -13,21 +13,30 @@ dependencies: override: - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} -e ${DOCKER_EMAIL} - docker pull theosakamg7/ros2java:latest - - mkdir ${HOME_BUILD} && cd ${HOME_BUILD} && env | grep -E '^TRAVIS_' > .env + - mkdir ${HOME_BUILD} + - cd ${HOME_BUILD} + - env | grep -E '^TRAVIS_' > .env - env | grep -E '^CIRCLE_' >> .env - env | grep -E '^CI_' >> .env - echo -e "CI_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER\nCI_PULL_REQUEST=$TRAVIS_PULL_REQUEST\nCI_BRANCH=$TRAVIS_BRANCH\nCI_BUILD_URL=$" >> .env - echo "INSTALL/BUILD ROS2 AMENT..." - - cd ${HOME_BUILD} && mkdir -p ament_ws/src && cd ${HOME_BUILD}/ament_ws + - cd ${HOME_BUILD} + - mkdir -p ament_ws/src + - cd ${HOME_BUILD}/ament_ws - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/e6084cfafa6b7ea690104424cef970a2/raw/ament_java.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ament_java.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "src/ament/ament_tools/scripts/ament.py build --symlink-install --isolated" - echo "INSTALL ROS2 WS..." - - cd ${HOME_BUILD} && mkdir -p ${ROS2WS}/src && cd ${ROS2WS} + - cd ${HOME_BUILD} + - mkdir -p ${ROS2WS}/src + - cd ${ROS2WS} - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/d9259bbc708c5145255fbdeb25e65e19/raw/ros2_java_desktop.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ros2_java_desktop.repos" - - cd ${ROS2WS}/src/ros2/rosidl_typesupport && patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff - - cd ${ROS2WS}/src/eProsima/Fast-RTPS && git submodule init && git submodule update + - cd ${ROS2WS}/src/ros2/rosidl_typesupport + - patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff + - cd ${ROS2WS}/src/eProsima/Fast-RTPS + - git submodule init + - git submodule update - rm -rf ${ROS2WS}/src/ros2_java/ros2_java_utils && ln -s ${HOME_BUILD}/ros2java-alfred/ros2_java_utils ${ROS2WS}/src/ros2_java/ros2_java_utils - echo "BUILD ROS2 WS..." - cd ${HOME_BUILD} @@ -35,5 +44,6 @@ dependencies: test: override: - - cd $HOME_BUILD && docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && . ./install_isolated/local_setup.sh && ament test --symlink-install --isolated --only-packages rcljava_utils --ament-gradle-args --parallel --daemon --configure-on-demand" + - cd $HOME_BUILD + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && . ./install_isolated/local_setup.sh && ament test --symlink-install --isolated --only-packages rcljava_utils --ament-gradle-args --parallel --daemon --configure-on-demand" From 72a652931254bbcb1843640eee33e4fb712bbb46 Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sat, 18 Mar 2017 23:57:28 +0100 Subject: [PATCH 6/8] Disable extra env --- circle.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/circle.yml b/circle.yml index ceda2ef..3c7e49e 100644 --- a/circle.yml +++ b/circle.yml @@ -15,9 +15,9 @@ dependencies: - docker pull theosakamg7/ros2java:latest - mkdir ${HOME_BUILD} - cd ${HOME_BUILD} - - env | grep -E '^TRAVIS_' > .env - - env | grep -E '^CIRCLE_' >> .env - - env | grep -E '^CI_' >> .env + #- env | grep -E '^CIRCLE_' > .env + #- env | grep -E '^COVERALLS_' >> .env + #- env | grep -E '^CI_' >> .env - echo -e "CI_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER\nCI_PULL_REQUEST=$TRAVIS_PULL_REQUEST\nCI_BRANCH=$TRAVIS_BRANCH\nCI_BUILD_URL=$" >> .env - echo "INSTALL/BUILD ROS2 AMENT..." - cd ${HOME_BUILD} From 1409ea7892080177d72d76c4927f4aac57f11228 Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sun, 19 Mar 2017 00:04:56 +0100 Subject: [PATCH 7/8] Fix path --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 3c7e49e..aaf7d84 100644 --- a/circle.yml +++ b/circle.yml @@ -21,7 +21,7 @@ dependencies: - echo -e "CI_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER\nCI_PULL_REQUEST=$TRAVIS_PULL_REQUEST\nCI_BRANCH=$TRAVIS_BRANCH\nCI_BUILD_URL=$" >> .env - echo "INSTALL/BUILD ROS2 AMENT..." - cd ${HOME_BUILD} - - mkdir -p ament_ws/src + - mkdir -p ${HOME_BUILD}/ament_ws/src - cd ${HOME_BUILD}/ament_ws - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/e6084cfafa6b7ea690104424cef970a2/raw/ament_java.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ament_java.repos" From 184216cb4f83f7bc8861a55a6324c0e4ee29d9ee Mon Sep 17 00:00:00 2001 From: Mickael Gaillard Date: Sun, 19 Mar 2017 00:41:49 +0100 Subject: [PATCH 8/8] Less verbose --- circle.yml | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/circle.yml b/circle.yml index aaf7d84..041b59c 100644 --- a/circle.yml +++ b/circle.yml @@ -13,34 +13,25 @@ dependencies: override: - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} -e ${DOCKER_EMAIL} - docker pull theosakamg7/ros2java:latest - - mkdir ${HOME_BUILD} - - cd ${HOME_BUILD} + - mkdir ${HOME_BUILD} && cd ${HOME_BUILD} #- env | grep -E '^CIRCLE_' > .env #- env | grep -E '^COVERALLS_' >> .env #- env | grep -E '^CI_' >> .env - echo -e "CI_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER\nCI_PULL_REQUEST=$TRAVIS_PULL_REQUEST\nCI_BRANCH=$TRAVIS_BRANCH\nCI_BUILD_URL=$" >> .env - echo "INSTALL/BUILD ROS2 AMENT..." - - cd ${HOME_BUILD} - - mkdir -p ${HOME_BUILD}/ament_ws/src - - cd ${HOME_BUILD}/ament_ws - - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/e6084cfafa6b7ea690104424cef970a2/raw/ament_java.repos" - - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ament_java.repos" + - cd ${HOME_BUILD} && mkdir -p ${HOME_BUILD}/ament_ws/src && cd ${HOME_BUILD}/ament_ws + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "ls -lFa && /usr/bin/wget https://gist.githubusercontent.com/Theosakamg/e6084cfafa6b7ea690104424cef970a2/raw/ament_java.repos" + - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "ls -lFa && /usr/bin/vcs import src < ament_java.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "src/ament/ament_tools/scripts/ament.py build --symlink-install --isolated" - echo "INSTALL ROS2 WS..." - - cd ${HOME_BUILD} - - mkdir -p ${ROS2WS}/src - - cd ${ROS2WS} + - cd ${HOME_BUILD} && mkdir -p ${ROS2WS}/src && cd ${ROS2WS} - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/wget https://gist.githubusercontent.com/Theosakamg/d9259bbc708c5145255fbdeb25e65e19/raw/ros2_java_desktop.repos" - docker run -u "$UID" -it --rm -v `pwd`:`pwd` -w `pwd` theosakamg7/ros2java:latest sh -c "/usr/bin/vcs import src < ros2_java_desktop.repos" - - cd ${ROS2WS}/src/ros2/rosidl_typesupport - - patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff - - cd ${ROS2WS}/src/eProsima/Fast-RTPS - - git submodule init - - git submodule update + - cd ${ROS2WS}/src/ros2/rosidl_typesupport && patch -p1 < ../../ros2_java/ros2_java/rosidl_ros2_java.diff + - cd ${ROS2WS}/src/eProsima/Fast-RTPS && git submodule init && git submodule update - rm -rf ${ROS2WS}/src/ros2_java/ros2_java_utils && ln -s ${HOME_BUILD}/ros2java-alfred/ros2_java_utils ${ROS2WS}/src/ros2_java/ros2_java_utils - echo "BUILD ROS2 WS..." - - cd ${HOME_BUILD} - - docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && ament build --symlink-install --isolated --skip-packages ${PKG_EXCLUDE} --ament-gradle-args --parallel --daemon --configure-on-demand" + - cd ${HOME_BUILD} && docker run -u "$UID" -it --rm -v `pwd`:`pwd` --env-file .env -w `pwd` theosakamg7/ros2java:latest sh -c ". ament_ws/install_isolated/local_setup.sh && cd /home/travis/build/ros2_java_ws && ament build --symlink-install --isolated --skip-packages ${PKG_EXCLUDE} --ament-gradle-args --parallel --daemon --configure-on-demand" test: override: