From 90f465af4237fbecb5dbc0126825dcfc0ed17bdd Mon Sep 17 00:00:00 2001 From: Levi Armstrong Date: Sun, 12 Nov 2023 17:10:24 -0600 Subject: [PATCH] Remove use of Industrial CI --- .github/workflows/focal_build.yml | 57 -------------------- .github/workflows/ubunut.yml | 90 +++++++++++++++++++++++++++++++ dependencies.repos | 10 +++- dependencies_unstable.repos | 8 +++ 4 files changed, 107 insertions(+), 58 deletions(-) delete mode 100644 .github/workflows/focal_build.yml create mode 100644 .github/workflows/ubunut.yml diff --git a/.github/workflows/focal_build.yml b/.github/workflows/focal_build.yml deleted file mode 100644 index a6e6de52..00000000 --- a/.github/workflows/focal_build.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Focal-Build - -on: - push: - branches: - - master - pull_request: - schedule: - - cron: '0 5 * * *' - -jobs: - industrial_ci: - name: Noetic - runs-on: ubuntu-latest - env: - CI_NAME: Focal-Build - OS_NAME: ubuntu - OS_CODE_NAME: focal - ROS_DISTRO: noetic - ROS_REPO: main - UPSTREAM_WORKSPACE: "dependencies.repos" - ROSDEP_SKIP_KEYS: "bullet bullet-extras opw_kinematics ros_industrial_cmake_boilerplate fcl ifopt" - DOCKER_IMAGE: "rosindustrial/tesseract:noetic" - PARALLEL_TESTS: false - CCACHE_DIR: "/home/runner/work/trajopt_ros/trajopt_ros/Focal-Build/.ccache" - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTRAJOPT_ENABLE_TESTING=ON -DTRAJOPT_ENABLE_CLANG_TIDY=ON" - AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps --verbose trajopt trajopt_ifopt trajopt_sco trajopt_sqp --make-args test' - ADDITIONAL_DEBS: clang-tidy - steps: - - uses: actions/checkout@v1 - - - name: Free Disk Space - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h - - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} - run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") - - - name: ccache cache files - uses: actions/cache@v1.1.0 - with: - path: ${{ env.CI_NAME }}/.ccache - key: ${{ env.CI_NAME }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }} - restore-keys: | - ${{ env.CI_NAME }}-ccache- - - - uses: 'ros-industrial/industrial_ci@master' - env: ${{env}} diff --git a/.github/workflows/ubunut.yml b/.github/workflows/ubunut.yml new file mode 100644 index 00000000..fcf8931d --- /dev/null +++ b/.github/workflows/ubunut.yml @@ -0,0 +1,90 @@ +name: Ubuntu + +on: + push: + branches: + - master + pull_request: + schedule: + - cron: '0 5 * * *' + +jobs: + ci: + name: ${{ matrix.distro }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + distro: [focal, jammy] + container: + image: ubuntu:${{ matrix.distro }} + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + path: target_ws/src + + - name: Install Depends + shell: bash + run: | + apt update + apt upgrade -y + apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git liboctomap-dev + python3 -m pip install vcstool -q + python3 -m pip install colcon-common-extensions -q + python3 -m pip install rosdep -q + rosdep init + rosdep update + cd $GITHUB_WORKSPACE/target_ws/src + curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null + apt update -qq + + - name: Prepare ccache timestamp + id: ccache_cache_timestamp + shell: cmake -P {0} + run: | + string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) + message("::set-output name=timestamp::${current_date}") + + - name: ccache cache files + continue-on-error: true + uses: actions/cache@v1.1.0 + with: + path: ${{ matrix.distro }}/.ccache + key: ${{ matrix.distro }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }} + restore-keys: | + ${{ matrix.distro }}-ccache- + + - name: Build Upstream Workspace + shell: bash + run: | + mkdir -p $GITHUB_WORKSPACE/upstream_ws/src + vcs import --input "$GITHUB_WORKSPACE/target_ws/src/dependencies.repos" $GITHUB_WORKSPACE/upstream_ws/src/ + cd $GITHUB_WORKSPACE/upstream_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release + if [ $? -ge 1 ]; then return 1; fi + + - name: Build Target Workspace + shell: bash + run: | + source $GITHUB_WORKSPACE/upstream_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTRAJOPT_ENABLE_TESTING=ON -DTRAJOPT_ENABLE_CLANG_TIDY=ON + if [ $? -ge 1 ]; then return 1; fi + + - name: Run Tests + shell: bash + run: | + cd $GITHUB_WORKSPACE/target_ws + source $GITHUB_WORKSPACE/target_ws/install/setup.bash + colcon test --event-handlers console_direct+ --return-code-on-test-failure + if [ $? -ge 1 ]; then return 1; fi + colcon test-result --verbose + if [ $? -ge 1 ]; then return 1; fi diff --git a/dependencies.repos b/dependencies.repos index acd4f5a7..3c036010 100644 --- a/dependencies.repos +++ b/dependencies.repos @@ -5,7 +5,7 @@ - git: local-name: tesseract uri: https://github.com/ros-industrial-consortium/tesseract.git - version: 0.21.0 + version: 0.21.2 - git: local-name: opw_kinematics uri: https://github.com/Jmeyer1292/opw_kinematics.git @@ -14,3 +14,11 @@ local-name: ifopt uri: https://github.com/ethz-adrl/ifopt.git version: 2.1.3 +- git: + local-name: fcl + uri: https://github.com/flexible-collision-library/fcl.git + version: 0.6.1 +- git: + local-name: octomap + uri: https://github.com/OctoMap/octomap.git + version: v1.9.8 diff --git a/dependencies_unstable.repos b/dependencies_unstable.repos index 5021efbd..6ac76cd4 100644 --- a/dependencies_unstable.repos +++ b/dependencies_unstable.repos @@ -14,3 +14,11 @@ local-name: ifopt uri: https://github.com/ethz-adrl/ifopt.git version: master +- git: + local-name: fcl + uri: https://github.com/flexible-collision-library/fcl.git + version: 0.6.1 +- git: + local-name: octomap + uri: https://github.com/OctoMap/octomap.git + version: v1.9.8