From 0e06941c3dd15fde9a38824e45587fefca1a66a9 Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 09:47:58 +0200 Subject: [PATCH 1/9] add ci workflow --- .github/build_test_20.yml | 68 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/build_test_20.yml diff --git a/.github/build_test_20.yml b/.github/build_test_20.yml new file mode 100644 index 0000000..89b762a --- /dev/null +++ b/.github/build_test_20.yml @@ -0,0 +1,68 @@ +name: 'Ubuntu 20.04 + ROS Noetic: Build ' +on: + push: + branches: + - 'main' + pull_request: + branches: + - '*' + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + config: + - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-base-focal'} + container: ${{ matrix.config.container }} + steps: + - uses: actions/checkout@v1 + with: + token: ${{ secrets.ACCESS_TOKEN }} + + - name: Setup ccache + shell: bash + run: | + apt update && apt install -y ccache + export PATH="/usr/lib/ccache:$PATH" + export CCACHE_DIR=$HOME/catkin_ws/ccache + export CCACHE_STAMP=$(date +%Y-%m-%d_%H-%M-%S) + echo "Updated PATH=$PATH" + echo "Set CCACHE_DIR=$CCACHE_DIR" + echo "Set CCACHE_STAMP=$CCACHE_STAMP" + echo "CCACHE_DIR=$CCACHE_DIR" >> $GITHUB_ENV + echo "CCACHE_STAMP=$CCACHE_STAMP" >> $GITHUB_ENV + echo "PATH=$PATH" >> $GITHUB_ENV + mkdir -p $CCACHE_DIR + ccache --max-size=1G + + - name: Cache ccache files + uses: actions/cache@v1.1.0 + with: + path: ${{ env.CCACHE_DIR }} + key: ${{ matrix.config.name }}-ccache-${{ env.CCACHE_STAMP }} + restore-keys: | + ${{ matrix.config.name }}-ccache- + + - name: Install System Deps on Noetic + if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} + run: | + sudo apt-get install python3-vcstool python3-catkin-tools ros-$ROS_DISTRO-cmake-modules protobuf-compiler autoconf git rsync -y + + - name: Release Build Test + working-directory: + env: + DEBIAN_FRONTEND: noninteractive + shell: bash + run: | + apt update + mkdir -p $HOME/catkin_ws/src; + cd $HOME/catkin_ws + catkin init + catkin config --extend "/opt/ros/${{matrix.config.rosdistro}}" + catkin config --merge-devel + catkin config --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo + cd $HOME/catkin_ws/src + ln -s $GITHUB_WORKSPACE + catkin build -j$(nproc) -l$(nproc) coin_lio From c3e401e55916426b79956c5766e0d0499d953f0e Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 09:49:31 +0200 Subject: [PATCH 2/9] move workflow yaml to correct folder --- .github/{ => workflows}/build_test_20.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/build_test_20.yml (100%) diff --git a/.github/build_test_20.yml b/.github/workflows/build_test_20.yml similarity index 100% rename from .github/build_test_20.yml rename to .github/workflows/build_test_20.yml From 66a17daae94234ca6aaebb5349cd7354e6fed4db Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 09:53:57 +0200 Subject: [PATCH 3/9] switch image to noetic-core --- .github/workflows/build_test_20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index 89b762a..91eb950 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: config: - - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-base-focal'} + - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-core-focal'} container: ${{ matrix.config.container }} steps: - uses: actions/checkout@v1 @@ -46,7 +46,7 @@ jobs: ${{ matrix.config.name }}-ccache- - name: Install System Deps on Noetic - if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} + if: ${{ matrix.config.container == 'ros:noetic-ros-core-focal' }} run: | sudo apt-get install python3-vcstool python3-catkin-tools ros-$ROS_DISTRO-cmake-modules protobuf-compiler autoconf git rsync -y From d9d2826dba6f5c5e301017e6c3563881f7e23a3b Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 09:57:39 +0200 Subject: [PATCH 4/9] switch to desktop full --- .github/workflows/build_test_20.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index 91eb950..1687393 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: config: - - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-core-focal'} + - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-desktop-full'} container: ${{ matrix.config.container }} steps: - uses: actions/checkout@v1 @@ -46,9 +46,9 @@ jobs: ${{ matrix.config.name }}-ccache- - name: Install System Deps on Noetic - if: ${{ matrix.config.container == 'ros:noetic-ros-core-focal' }} + if: ${{ matrix.config.container == 'ros:noetic-desktop-full' }} run: | - sudo apt-get install python3-vcstool python3-catkin-tools ros-$ROS_DISTRO-cmake-modules protobuf-compiler autoconf git rsync -y + sudo apt-get install python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules protobuf-compiler autoconf git rsync -y - name: Release Build Test working-directory: From cf925b2548d4b92a129019d9b7254690c2bf14a2 Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 09:59:46 +0200 Subject: [PATCH 5/9] add ros-perception --- .github/workflows/build_test_20.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index 1687393..41d2970 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: config: - - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-desktop-full'} + - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-base-focal'} container: ${{ matrix.config.container }} steps: - uses: actions/checkout@v1 @@ -46,9 +46,10 @@ jobs: ${{ matrix.config.name }}-ccache- - name: Install System Deps on Noetic - if: ${{ matrix.config.container == 'ros:noetic-desktop-full' }} + if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} run: | - sudo apt-get install python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules protobuf-compiler autoconf git rsync -y + sudo apt-get install python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules + ros-$ROS_DISTRO-perception protobuf-compiler autoconf git rsync -y - name: Release Build Test working-directory: From 6707c2c3f9a6c14b842a8c21315dcd9330791340 Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 10:03:23 +0200 Subject: [PATCH 6/9] add ros-noetic-pcl-ros in image --- .github/workflows/build_test_20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index 41d2970..8c3faea 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -48,8 +48,8 @@ jobs: - name: Install System Deps on Noetic if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} run: | - sudo apt-get install python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules - ros-$ROS_DISTRO-perception protobuf-compiler autoconf git rsync -y + sudo apt-get install -y python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules + ros-$ROS_DISTRO-pcl-ros - name: Release Build Test working-directory: From 7df2c24ba54d22c562d18f764a7d8069616a8348 Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 10:07:08 +0200 Subject: [PATCH 7/9] add desktop full --- .github/workflows/build_test_20.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index 8c3faea..0b6b828 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: config: - - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-base-focal'} + - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-desktop-focal'} container: ${{ matrix.config.container }} steps: - uses: actions/checkout@v1 @@ -46,10 +46,11 @@ jobs: ${{ matrix.config.name }}-ccache- - name: Install System Deps on Noetic - if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} + if: ${{ matrix.config.container == 'ros:noetic-desktop-focal' }} run: | + sudo apt update + sudo apt-get install -y --no-install-recommends ros-noetic-desktop-full=1.5.0-1* && rm -rf /var/lib/apt/lists/* sudo apt-get install -y python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules - ros-$ROS_DISTRO-pcl-ros - name: Release Build Test working-directory: From 6dd6a86ce112c483c3d3d73c0d11615b3fca3c54 Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 10:10:48 +0200 Subject: [PATCH 8/9] different container --- .github/workflows/build_test_20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index 0b6b828..b19e891 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: config: - - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-desktop-focal'} + - {name: 'Ubuntu 20.04 + ROS Noetic: Build ', rosdistro: 'noetic', container: 'ros:noetic-ros-base-focal'} container: ${{ matrix.config.container }} steps: - uses: actions/checkout@v1 @@ -46,7 +46,7 @@ jobs: ${{ matrix.config.name }}-ccache- - name: Install System Deps on Noetic - if: ${{ matrix.config.container == 'ros:noetic-desktop-focal' }} + if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} run: | sudo apt update sudo apt-get install -y --no-install-recommends ros-noetic-desktop-full=1.5.0-1* && rm -rf /var/lib/apt/lists/* From 81e221322ca63967fa507f47f41324da7c0637b1 Mon Sep 17 00:00:00 2001 From: Patrick Pfreundschuh Date: Thu, 22 Aug 2024 10:14:59 +0200 Subject: [PATCH 9/9] more changes --- .github/workflows/build_test_20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_test_20.yml b/.github/workflows/build_test_20.yml index b19e891..bbb986b 100644 --- a/.github/workflows/build_test_20.yml +++ b/.github/workflows/build_test_20.yml @@ -49,7 +49,7 @@ jobs: if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} run: | sudo apt update - sudo apt-get install -y --no-install-recommends ros-noetic-desktop-full=1.5.0-1* && rm -rf /var/lib/apt/lists/* + sudo apt-get install -y --no-install-recommends ros-noetic-desktop-full=1.5.0-1* sudo apt-get install -y python3-vcstool python3-catkin-tools libgoogle-glog-dev ros-$ROS_DISTRO-cmake-modules - name: Release Build Test