From 8cefe8839f569f1abbbd4f5f9d8b654511ac675a Mon Sep 17 00:00:00 2001 From: Levi Armstrong Date: Mon, 20 Nov 2023 17:09:18 -0600 Subject: [PATCH] Remove use of Industrial CI (#420) --- .github/workflows/add_sources.sh | 5 -- .github/workflows/clang_format.yml | 6 +- .github/workflows/code_quality.yml | 97 +++++++++++------------- .github/workflows/nightly.yml | 69 +++++++---------- .github/workflows/ubuntu.yml | 109 ++++++++------------------- .github/workflows/unstable.yml | 56 ++++++++++++++ .github/workflows/unstable_build.yml | 73 ------------------ .github/workflows/windows.yml | 51 +++++-------- docker/Dockerfile | 12 ++- 9 files changed, 187 insertions(+), 291 deletions(-) delete mode 100755 .github/workflows/add_sources.sh create mode 100644 .github/workflows/unstable.yml delete mode 100644 .github/workflows/unstable_build.yml diff --git a/.github/workflows/add_sources.sh b/.github/workflows/add_sources.sh deleted file mode 100755 index a213b6f9380..00000000000 --- a/.github/workflows/add_sources.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/bash -apt update -qq -apt install -y --no-install-recommends software-properties-common -add-apt-repository -y ppa:ros-industrial/ppa -apt update -qq diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index 2546a2c1835..1f8a1756983 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -10,14 +10,16 @@ on: jobs: clang_format: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v1 - name: Run clang format run: | sudo apt update - sudo apt install -y git clang-format + sudo apt install -y git clang-format-8 + if [ $? -ge 1 ]; then return 1; fi ./.run-clang-format + if [ $? -ge 1 ]; then return 1; fi output=$(git diff) if [ -n "$output" ]; then exit 1; else exit 0; fi diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index 2435f9dd86f..2a5e41080fb 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -4,7 +4,12 @@ on: push: branches: - master + - 'dev**' pull_request: + paths: + - 'tesseract**' + - '.github/workflows/code_quality.yml' + - '.clang-tidy' schedule: - cron: '0 5 * * *' @@ -15,66 +20,52 @@ jobs: strategy: fail-fast: false matrix: - job_type: [codecov, clang-tidy] + job_type: [clang-tidy, codecov] include: - - job_type: codecov - env: - ADDITIONAL_DEBS: 'taskflow libompl-dev' - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" - AFTER_SCRIPT: 'ici_with_unset_variables source ${HOME}/${PREFIX}target_ws/install/setup.bash && cd ${HOME}/${PREFIX}target_ws && colcon build --cmake-target ccov-all --packages-select tesseract_command_language tesseract_motion_planners tesseract_task_composer tesseract_time_parameterization && cd src/tesseract_planning && git config --global --add safe.directory ${HOME}/${PREFIX}target_ws/src/tesseract_planning && bash <(curl -s https://codecov.io/bash) -t 6e7f085e-77c5-47fc-a4a9-c2dd5ef1d78d -s ${HOME}/${PREFIX}target_ws/build -f *all-merged.info' - job_type: clang-tidy env: - ADDITIONAL_DEBS: 'clang-tidy taskflow libompl-dev' - AFTER_SCRIPT: "" - NOT_TEST_BUILD: true - TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON" - env: - ROS_DISTRO: false - DOCKER_IMAGE: ghcr.io/tesseract-robotics/tesseract:focal-master - UNDERLAY: /root/tesseract-robotics/tesseract_target_ws/install - PREFIX: ${{ github.repository }}_ - BEFORE_INIT: './.github/workflows/add_sources.sh' - AFTER_INIT: '' - UPSTREAM_WORKSPACE: 'dependencies_unstable.repos' - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig" - + TARGET_CMAKE_ARGS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON" + - job_type: codecov + env: + TARGET_CMAKE_ARGS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" + container: + image: ghcr.io/tesseract-robotics/tesseract:focal-0.21 + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.job_type }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - name: Checkout repository - uses: actions/checkout@v1 - - - name: Free disk space - continue-on-error: true - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h + uses: actions/checkout@v4 + with: + path: target_ws/src - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} + - name: Install Depends + shell: bash run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") + apt update + apt upgrade -y + apt install -y wget software-properties-common + add-apt-repository ppa:levi-armstrong/tesseract-robotics + apt install -y clang-tidy libompl-dev taskflow - - name: ccache cache files - continue-on-error: true - uses: actions/cache@v1.1.0 + - name: Build and Tests + uses: tesseract-robotics/colcon-action@before_script with: - path: ${{ matrix.job_type }}/.ccache - key: ${{ matrix.job_type }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }} - restore-keys: | - ${{ matrix.job_type }}-ccache- + before-script: source /opt/tesseract/install/setup.bash + ccache-prefix: ${{ matrix.distro }} + vcs-file: dependencies.repos + run-tests: false + upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release + target-path: target_ws/src + target-args: --cmake-args ${{ matrix.env.TARGET_CMAKE_ARGS }} - - name: Login to Github container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build repository - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: ${{ matrix.env }} + - name: Upload CodeCov Results + shell: bash + run: | + if [[ "${{ matrix.job_type }}" == "codecov" ]]; then + source $GITHUB_WORKSPACE/target_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + colcon build --cmake-target ccov-all --packages-select tesseract_command_language tesseract_motion_planners tesseract_task_composer tesseract_time_parameterization + bash <(curl -s https://codecov.io/bash) -t 6e7f085e-77c5-47fc-a4a9-c2dd5ef1d78d -s $GITHUB_WORKSPACE/target_ws/build -f *all-merged.info + fi diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index ce603da284c..341343183cb 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,56 +6,45 @@ on: schedule: - cron: '0 5 * * *' + # allow manually starting this workflow + workflow_dispatch: + jobs: - industrial_ci: + ci: if: contains(github.event.pull_request.labels.*.name, 'check-tesseract-ros') || github.event.schedule == true name: ${{ matrix.distro }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: - distro: [focal] + distro: [focal, jammy] + container: + image: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }} + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - name: Checkout repository - uses: actions/checkout@v1 - - - name: Free disk space - continue-on-error: true - run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h + uses: actions/checkout@v4 + with: + path: target_ws/src - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: cmake -P {0} + - name: Install Depends + shell: bash run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") + apt update + apt upgrade -y + apt install -y wget software-properties-common + add-apt-repository ppa:levi-armstrong/tesseract-robotics + apt install -y libompl-dev taskflow - - name: ccache cache files - continue-on-error: true - uses: actions/cache@v1.1.0 + - name: Build and Tests + uses: tesseract-robotics/colcon-action@before_script with: - path: ${{ matrix.distro }}/.ccache - key: ${{ matrix.distro }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }} - restore-keys: | - ${{ matrix.distro }}-ccache- - - - name: Build workspace - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: - ADDITIONAL_DEBS: 'taskflow libompl-dev' - ROS_DISTRO: false - DOCKER_IMAGE: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }}-master - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig" - CCACHE_DIR: ${{ github.workspace }}/${{ matrix.distro }}/.ccache - BEFORE_INIT: './.github/workflows/add_sources.sh' - AFTER_INIT: '' - UPSTREAM_WORKSPACE: 'dependencies.repos' - DOWNSTREAM_WORKSPACE: 'github:tesseract-robotics/tesseract_ros#master github:tesseract-robotics/tesseract_python#master' - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - DOWNSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" + before-script: source /opt/tesseract/install/setup.bash + ccache-prefix: ${{ matrix.distro }} + vcs-file: dependencies.repos + upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release + target-path: target_ws/src + target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 7ec9aaee9cf..b6a039ce7af 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -4,7 +4,12 @@ on: push: branches: - master + - 'dev**' pull_request: + paths: + - 'tesseract**' + - '.github/workflows/ubuntu.yml' + - '**.repos' schedule: - cron: '0 5 * * *' release: @@ -19,87 +24,33 @@ jobs: fail-fast: false matrix: distro: [focal, jammy] - env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }} - TESSERACT_VERSION: '0.21' + container: + image: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }}-0.21 + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - name: Checkout repository - uses: actions/checkout@v1 - - - name: Free disk space - continue-on-error: true - 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 - 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: Login to Github container registry - uses: docker/login-action@v1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract Docker meta-information - id: meta - uses: docker/metadata-action@v3 + uses: actions/checkout@v4 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - flavor: | - latest=false - prefix= - suffix= - tags: | - type=ref,event=branch,prefix=${{ matrix.distro }}- - type=semver,pattern={{major}}.{{minor}},prefix=${{ matrix.distro }}- + path: target_ws/src - - name: Set build type + - name: Install Depends + shell: bash run: | - if [[ "${{ env.PUSH_DOCKER_IMAGE }}" = true ]] - then - echo "BUILD_TYPE=Release" >> $GITHUB_ENV - else - echo "BUILD_TYPE=Debug" >> $GITHUB_ENV - fi - - - name: Build repository - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: - ADDITIONAL_DEBS: 'taskflow libompl-dev' - ROS_DISTRO: false - DOCKER_IMAGE: ${{ env.REGISTRY }}/tesseract-robotics/tesseract:${{ matrix.distro }}-${{ env.TESSERACT_VERSION }} - UNDERLAY: /root/tesseract-robotics/tesseract_target_ws/install - CCACHE_DIR: ${{ github.workspace }}/${{ matrix.distro }}/.ccache - PREFIX: ${{ github.repository }}_ - BEFORE_INIT: './.github/workflows/add_sources.sh' - AFTER_INIT: '' - UPSTREAM_WORKSPACE: dependencies.repos - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" - AFTER_SCRIPT: 'rm -r $BASEDIR/${PREFIX}upstream_ws/build $BASEDIR/${PREFIX}target_ws/build' - DOCKER_COMMIT: ${{ steps.meta.outputs.tags }} - - - name: Push post-build Docker - if: ${{ env.PUSH_DOCKER_IMAGE == 'true' }} - run: docker push ${{ steps.meta.outputs.tags }} + apt update + apt upgrade -y + apt install -y wget software-properties-common + add-apt-repository ppa:levi-armstrong/tesseract-robotics + apt install -y libompl-dev taskflow + + - name: Build and Tests + uses: tesseract-robotics/colcon-action@before_script + with: + before-script: source /opt/tesseract/install/setup.bash + ccache-prefix: ${{ matrix.distro }} + vcs-file: dependencies.repos + upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release + target-path: target_ws/src + target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON diff --git a/.github/workflows/unstable.yml b/.github/workflows/unstable.yml new file mode 100644 index 00000000000..eb4815aa9ae --- /dev/null +++ b/.github/workflows/unstable.yml @@ -0,0 +1,56 @@ +name: Unstable + +on: + push: + branches: + - master + - 'dev**' + pull_request: + paths: + - 'tesseract**' + - '.github/workflows/unstable.yml' + - '**.repos' + schedule: + - cron: '0 5 * * *' + release: + types: + - released + +jobs: + ci: + name: ${{ matrix.distro }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + distro: [focal, jammy] + container: + image: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }}-master + 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 wget software-properties-common + add-apt-repository ppa:levi-armstrong/tesseract-robotics + apt install -y libompl-dev taskflow + + - name: Build and Tests + uses: tesseract-robotics/colcon-action@before_script + with: + before-script: source /opt/tesseract/install/setup.bash + ccache-prefix: ${{ matrix.distro }} + vcs-file: dependencies_unstable.repos + upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release + target-path: target_ws/src + target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON diff --git a/.github/workflows/unstable_build.yml b/.github/workflows/unstable_build.yml deleted file mode 100644 index d705af1a5ec..00000000000 --- a/.github/workflows/unstable_build.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Unstable - -on: - push: - branches: - - master - pull_request: - schedule: - - cron: '0 5 * * *' - -jobs: - ci: - name: Unstable - runs-on: ubuntu-latest - strategy: - matrix: - distro: [focal, jammy] - env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - - steps: - - name: Checkout repository - uses: actions/checkout@v1 - - - name: Free disk space - continue-on-error: true - 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 - 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: Login to Github container registry - uses: docker/login-action@v1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build repository - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: - ADDITIONAL_DEBS: 'taskflow libompl-dev' - ROS_DISTRO: false - DOCKER_IMAGE: ${{ env.REGISTRY }}/tesseract-robotics/tesseract:${{ matrix.distro }}-master - CCACHE_DIR: ${{ github.workspace }}/${{ matrix.distro }}/.ccache - UNDERLAY: /root/tesseract-robotics/tesseract_target_ws/install - PREFIX: ${{ github.repository }}_ - BEFORE_INIT: './.github/workflows/add_sources.sh' - AFTER_INIT: '' - UPSTREAM_WORKSPACE: dependencies_unstable.repos - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON" - BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash" diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 234dfeaafeb..77792037e7e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -4,6 +4,7 @@ on: push: branches: - master + - 'dev**' pull_request: paths: - 'tesseract**' @@ -21,17 +22,17 @@ jobs: matrix: os: [windows-2019, windows-2022] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - path: workspace/src/tesseract_planning + path: target_ws/src - name: vcpkg build uses: johnwason/vcpkg-action@v4 with: - pkgs: >- - fcl bullet3[multithreading,double-precision,rtti] octomap - console-bridge eigen3 yaml-cpp benchmark tinyxml2 assimp orocos-kdl pcl - lapack-reference boost-dll boost-filesystem boost-serialization + pkgs: >- + fcl bullet3[multithreading,double-precision,rtti] octomap + console-bridge eigen3 yaml-cpp benchmark tinyxml2 assimp orocos-kdl pcl + lapack-reference boost-dll boost-filesystem boost-serialization boost-program-options boost-graph urdfdom ccd[double-precision] gtest ompl taskflow jsoncpp flann benchmark triplet: x64-windows-release @@ -40,36 +41,22 @@ jobs: cache-key: ci-${{ matrix.os }} revision: 2023.08.09 - - name: install-depends - shell: cmd - run: | - python -m pip install vcstool -q - python -m pip install colcon-common-extensions -q - python -m pip install ninja -q - - name: configure-msvc uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - - name: build-workspace - working-directory: workspace - shell: cmd + - name: update environment + shell: bash run: | - set PATH=%PATH%;%GITHUB_WORKSPACE%\vcpkg\installed\x64-windows-release\bin - set CMAKE_PREFIX_PATH=%GITHUB_WORKSPACE%\vcpkg\installed\x64-windows-release - vcs import --input "${{ github.workspace }}/workspace/src/tesseract_planning/.github/workflows/windows_dependencies.repos" src/ - if %ERRORLEVEL% GEQ 1 exit 1 - colcon build --event-handlers console_direct+ --cmake-args -G "Ninja" -DVCPKG_TARGET_TRIPLET=x64-windows-release -DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=ON -DBUILD_IPOPT=OFF -DBUILD_SNOPT=OFF - if %ERRORLEVEL% GEQ 1 exit 1 + echo "PATH=${{ env.PATH }};$GITHUB_WORKSPACE\vcpkg\installed\x64-windows-release\bin" >> "$GITHUB_ENV" + echo "CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE\vcpkg\installed\x64-windows-release" >> "$GITHUB_ENV" - - name: run-test - working-directory: workspace - shell: cmd - run: | - call ./install/setup.bat - set PATH=%PATH%;%GITHUB_WORKSPACE%\vcpkg\installed\x64-windows-release\bin - colcon test --event-handlers console_direct+ --return-code-on-test-failure --packages-select tesseract_command_language tesseract_motion_planners tesseract_task_composer tesseract_time_parameterization - if %ERRORLEVEL% GEQ 1 exit 1 - colcon test-result --verbose - if %ERRORLEVEL% GEQ 1 exit 1 + - name: Build and Tests + uses: tesseract-robotics/colcon-action@v1 + with: + ccache-prefix: ${{ matrix.distro }} + vcs-file: .github/workflows/windows_dependencies.repos + upstream-args: --cmake-args -G "Ninja" -DVCPKG_TARGET_TRIPLET=x64-windows-release -DCMAKE_BUILD_TYPE=Release -DBUILD_IPOPT=OFF -DBUILD_SNOPT=OFF + target-path: target_ws/src + target-args: --cmake-args -G "Ninja" -DVCPKG_TARGET_TRIPLET=x64-windows-release -DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=ON diff --git a/docker/Dockerfile b/docker/Dockerfile index 2d68b512cbc..66b92c6c034 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ ARG TAG -FROM ghcr.io/tesseract-robotics/tesseract_deploy:${TAG} +FROM ghcr.io/tesseract-robotics/tesseract:${TAG} SHELL ["/bin/bash", "-c"] @@ -8,12 +8,10 @@ ENV DEBIAN_FRONTEND noninteractive USER root # Install the dependency repositories -# First add the custom apt sources and install additional debians -COPY .github/workflows/add_sources.sh /tmp/add_sources.sh -RUN ./tmp/add_sources.sh \ - && apt install -y \ - libompl-dev \ - taskflow +RUN apt install -y --no-install-recommends software-properties-common \ + && add-apt-repository -y ppa:levi-armstrong/tesseract-robotics \ + && apt update \ + && apt install -y libompl-dev taskflow # Bind mount the source directory so as not to unnecessarily copy source code into the docker image ARG WORKSPACE_DIR=/opt/tesseract_planning