From 28872f2e3475c273b38251dac682131b06faeb16 Mon Sep 17 00:00:00 2001 From: Michael Ripperger Date: Wed, 8 Mar 2023 19:27:44 -0600 Subject: [PATCH] Use ROS-independent version of ICI --- .github/workflows/add_ros_apt_sources.sh | 4 ++++ .github/workflows/benchmarking.yml | 8 ++++--- .github/workflows/bionic_build.yml | 25 ++++++++++------------ .github/workflows/clang_tidy.yml | 25 +++++++++++----------- .github/workflows/codecov.yml | 27 +++++++++++------------- .github/workflows/focal_build.yml | 26 ++++++++++------------- .github/workflows/nightly.yml | 21 ++++++++---------- 7 files changed, 64 insertions(+), 72 deletions(-) create mode 100755 .github/workflows/add_ros_apt_sources.sh diff --git a/.github/workflows/add_ros_apt_sources.sh b/.github/workflows/add_ros_apt_sources.sh new file mode 100755 index 00000000000..53a27e4be7f --- /dev/null +++ b/.github/workflows/add_ros_apt_sources.sh @@ -0,0 +1,4 @@ +#! /bin/bash +sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' +curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - +apt update -qq diff --git a/.github/workflows/benchmarking.yml b/.github/workflows/benchmarking.yml index 1f5e5daba45..96ae99e91e4 100644 --- a/.github/workflows/benchmarking.yml +++ b/.github/workflows/benchmarking.yml @@ -35,12 +35,14 @@ jobs: restore-keys: | ${{ matrix.env.CI_NAME }}-ccache- - - uses: 'ros-industrial/industrial_ci@master' + - uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea' env: - ROS_DISTRO: noetic + DOCKER_IMAGE: ubuntu:20.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' UPSTREAM_WORKSPACE: 'dependencies.rosinstall' ROSDEP_SKIP_KEYS: "bullet ros_industrial_cmake_boilerplate fcl iwyu" - DOCKER_IMAGE: "rosindustrial/tesseract:noetic" CCACHE_DIR: "${{ github.workspace }}/${{ matrix.env.CI_NAME }}/.ccache" UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=OFF -DTESSERACT_ENABLE_BENCHMARKING=ON -DTESSERACT_ENABLE_RUN_BENCHMARKING=ON -DBENCHMARK_ARGS=CI_ONLY" diff --git a/.github/workflows/bionic_build.yml b/.github/workflows/bionic_build.yml index de7da3be6ae..04cb278d1eb 100644 --- a/.github/workflows/bionic_build.yml +++ b/.github/workflows/bionic_build.yml @@ -1,4 +1,4 @@ -name: Bionic-Build +name: Ubuntu Bionic on: push: @@ -17,12 +17,11 @@ on: jobs: industrial_ci: - name: Melodic + name: Ubuntu Bionic runs-on: ubuntu-latest env: - CI_NAME: Bionic-Build + CI_NAME: ubuntu-bionic CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Bionic-Build/.ccache" - ROS_DISTRO: melodic REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }} @@ -72,8 +71,8 @@ jobs: prefix= suffix= tags: | - type=ref,event=branch,prefix=${{ env.ROS_DISTRO }}- - type=semver,pattern={{major}}.{{minor}},prefix=${{ env.ROS_DISTRO }}- + type=ref,event=branch,prefix=${{ env.CI_NAME }}- + type=semver,pattern={{major}}.{{minor}},prefix=${{ env.CI_NAME }}- - name: Set build type run: | @@ -85,20 +84,18 @@ jobs: fi - name: Build repository - uses: 'ros-industrial/industrial_ci@master' + uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea' env: - OS_NAME: ubuntu - OS_CODE_NAME: bionic - ROS_REPO: main + DOCKER_IMAGE: ubuntu:18.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' UPSTREAM_WORKSPACE: 'dependencies.rosinstall' ROSDEP_SKIP_KEYS: 'bullet ros_industrial_cmake_boilerplate iwyu fcl taskflow' - DOCKER_IMAGE: 'rosindustrial/tesseract:${{ env.ROS_DISTRO }}' - PARALLEL_BUILDS: 1 - PARALLEL_TESTS: false PREFIX: ${{ github.repository }}_ UPSTREAM_CMAKE_ARGS: '-DCMAKE_BUILD_TYPE=Release' TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" - AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps --verbose tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_scene_graph tesseract_srdf tesseract_state_solver tesseract_urdf --make-args test' + BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash" DOCKER_COMMIT: ${{ steps.meta.outputs.tags }} - name: Push post-build Docker diff --git a/.github/workflows/clang_tidy.yml b/.github/workflows/clang_tidy.yml index 63558220de1..76a168c6c33 100644 --- a/.github/workflows/clang_tidy.yml +++ b/.github/workflows/clang_tidy.yml @@ -18,17 +18,6 @@ jobs: runs-on: ubuntu-latest env: CI_NAME: Clang-Tidy - OS_NAME: ubuntu - OS_CODE_NAME: focal - ROS_DISTRO: noetic - ROS_REPO: main - UPSTREAM_WORKSPACE: 'dependencies.rosinstall' - ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow" - DOCKER_IMAGE: "rosindustrial/tesseract:noetic" - CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Clang-Tidy/.ccache" - NOT_TEST_BUILD: true - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON" steps: - uses: actions/checkout@v2 @@ -57,5 +46,15 @@ jobs: restore-keys: | ${{ env.CI_NAME }}-ccache- - - uses: 'ros-industrial/industrial_ci@master' - env: ${{env}} + - uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea' + env: + DOCKER_IMAGE: ubuntu:20.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' + UPSTREAM_WORKSPACE: 'dependencies.rosinstall' + ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow" + CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Clang-Tidy/.ccache" + NOT_TEST_BUILD: true + UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" + TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON" diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 19cd8ac2bb6..aa9d938a8f3 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -15,19 +15,6 @@ jobs: industrial_ci: name: CodeCov runs-on: ubuntu-latest - env: - CI_NAME: CodeCov - OS_NAME: ubuntu - OS_CODE_NAME: focal - ROS_DISTRO: noetic - ROS_REPO: main - UPSTREAM_WORKSPACE: 'dependencies.rosinstall' - ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow" - DOCKER_IMAGE: "rosindustrial/tesseract:noetic" - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" - AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf --make-args ccov-all - && bash <(curl -s https://codecov.io/bash) -t c4af0da7-9fc3-4d3c-bb2e-6b2523ddd382 -s $target_ws/build -f *all-merged.info' steps: - uses: actions/checkout@v2 @@ -40,5 +27,15 @@ jobs: docker rmi $(docker image ls -aq) df -h - - uses: 'ros-industrial/industrial_ci@master' - env: ${{env}} + - uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea' + env: + DOCKER_IMAGE: ubuntu:20.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' + UPSTREAM_WORKSPACE: 'dependencies.rosinstall' + ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow" + UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" + TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" + AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf --make-args ccov-all + && bash <(curl -s https://codecov.io/bash) -t c4af0da7-9fc3-4d3c-bb2e-6b2523ddd382 -s $target_ws/build -f *all-merged.info' diff --git a/.github/workflows/focal_build.yml b/.github/workflows/focal_build.yml index 9f3f5250ab6..cdcec5f4bb1 100644 --- a/.github/workflows/focal_build.yml +++ b/.github/workflows/focal_build.yml @@ -1,4 +1,4 @@ -name: Focal-Build +name: Ubuntu Focal on: push: @@ -17,12 +17,11 @@ on: jobs: industrial_ci: - name: Noetic + name: Ubuntu Focal runs-on: ubuntu-latest env: - CI_NAME: Focal-Build + CI_NAME: ubuntu-focal CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Focal-Build/.ccache" - ROS_DISTRO: noetic REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }} @@ -72,8 +71,8 @@ jobs: prefix= suffix= tags: | - type=ref,event=branch,prefix=${{ env.ROS_DISTRO }}- - type=semver,pattern={{major}}.{{minor}},prefix=${{ env.ROS_DISTRO }}- + type=ref,event=branch,prefix=${{ env.CI_NAME }}- + type=semver,pattern={{major}}.{{minor}},prefix=${{ env.CI_NAME }}- - name: Set build type run: | @@ -85,21 +84,18 @@ jobs: fi - name: Build repository - uses: 'ros-industrial/industrial_ci@master' + uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea' env: - OS_NAME: ubuntu - OS_CODE_NAME: focal - ROS_REPO: main + DOCKER_IMAGE: ubuntu:20.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' UPSTREAM_WORKSPACE: 'dependencies.rosinstall' ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow" - DOCKER_IMAGE: "rosindustrial/tesseract:${{ env.ROS_DISTRO }}" - PARALLEL_TESTS: false - PARALLEL_BUILDS: false PREFIX: ${{ github.repository }}_ - BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash" UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON" - AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps --verbose tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_scene_graph tesseract_srdf tesseract_state_solver tesseract_urdf --make-args test' + BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash" DOCKER_COMMIT: ${{ steps.meta.outputs.tags }} - name: Push post-build Docker diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index f7090bc18ae..069d8ad1278 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -19,28 +19,25 @@ jobs: matrix: env: - {CI_NAME: Bionic-Build-Nightly, - OS_NAME: ubuntu, - OS_CODE_NAME: bionic, - ROS_DISTRO: melodic, - ROS_REPO: main, + DOCKER_IMAGE: ubuntu:18.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' UPSTREAM_WORKSPACE: 'dependencies.rosinstall', DOWNSTREAM_WORKSPACE: 'github:ros-industrial-consortium/tesseract_planning#master github:ros-industrial-consortium/trajopt_ros#master github:ros-industrial-consortium/tesseract_ros#master', ROSDEP_SKIP_KEYS: "bullet ros_industrial_cmake_boilerplate fcl iwyu", - DOCKER_IMAGE: "rosindustrial/tesseract:melodic", CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Bionic-Build-Nightly/.ccache", - PARALLEL_TESTS: false, UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release", TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release", DOWNSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"} - {CI_NAME: Focal-Build-Nightly, - OS_NAME: ubuntu, - OS_CODE_NAME: focal, - ROS_DISTRO: noetic, - ROS_REPO: main, + DOCKER_IMAGE: ubuntu:20.04 + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' UPSTREAM_WORKSPACE: 'dependencies.rosinstall', DOWNSTREAM_WORKSPACE: 'github:ros-industrial-consortium/tesseract_planning#master github:ros-industrial-consortium/trajopt_ros#master github:ros-industrial-consortium/tesseract_ros#master', ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow", - DOCKER_IMAGE: "rosindustrial/tesseract:noetic", CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Focal-Build-Nightly/.ccache", UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release", TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release", @@ -74,5 +71,5 @@ jobs: restore-keys: | ${{ matrix.env.CI_NAME }}-ccache- - - uses: 'ros-industrial/industrial_ci@master' + - uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea' env: ${{matrix.env}}