From eda955ec99e214bd5ff318d716b397f8eb3f1813 Mon Sep 17 00:00:00 2001 From: Roelof Oomen Date: Thu, 18 Jul 2024 08:00:06 +0200 Subject: [PATCH] Use system taskflow for Noble --- .github/workflows/code_quality.yml | 6 ++---- .github/workflows/nightly.yml | 14 ++++++++++++-- .github/workflows/ubuntu.yml | 14 ++++++++++++-- .github/workflows/unstable.yml | 24 +++++++++++++++++------- docker/Dockerfile | 10 ++++++++-- 5 files changed, 51 insertions(+), 17 deletions(-) diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index acfa0c4031..9e2e8830ed 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -29,7 +29,7 @@ jobs: 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/trajopt:jammy-master + image: ghcr.io/tesseract-robotics/trajopt:noble-master env: CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.job_type }}/.ccache" DEBIAN_FRONTEND: noninteractive @@ -45,9 +45,7 @@ jobs: run: | 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 + apt install -y wget clang-tidy libompl-dev - name: Build and Tests uses: tesseract-robotics/colcon-action@v2 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 075f619438..d87bc9b1c8 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -35,9 +35,19 @@ jobs: run: | apt update apt upgrade -y - apt install -y wget software-properties-common + apt install -y wget libompl-dev + - name: Install Depends (non-noble) + if: ${{ matrix.distro != 'noble' }} + shell: bash + run: | + apt install -y software-properties-common add-apt-repository ppa:levi-armstrong/tesseract-robotics - apt install -y libompl-dev taskflow + apt install -y taskflow + - name: Install Depends (noble) + if: ${{ matrix.distro == 'noble' }} + shell: bash + run: | + apt install -y libtaskflow-cpp-dev - name: Build and Tests uses: tesseract-robotics/colcon-action@v8 diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index c8c27762c7..90a1dd87a3 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -41,9 +41,19 @@ jobs: run: | apt update apt upgrade -y - apt install -y wget software-properties-common + apt install -y wget libompl-dev + - name: Install Depends (non-noble) + if: ${{ matrix.distro != 'noble' }} + shell: bash + run: | + apt install -y software-properties-common add-apt-repository ppa:levi-armstrong/tesseract-robotics - apt install -y libompl-dev taskflow + apt install -y taskflow + - name: Install Depends (noble) + if: ${{ matrix.distro == 'noble' }} + shell: bash + run: | + apt install -y libtaskflow-cpp-dev - name: Build and Tests uses: tesseract-robotics/colcon-action@v8 diff --git a/.github/workflows/unstable.yml b/.github/workflows/unstable.yml index ae604b15cd..cb4d906cfb 100644 --- a/.github/workflows/unstable.yml +++ b/.github/workflows/unstable.yml @@ -4,14 +4,14 @@ on: push: branches: - master - - 'dev**' + - "dev**" pull_request: paths: - - 'tesseract**' - - '.github/workflows/unstable.yml' - - '**.repos' + - "tesseract**" + - ".github/workflows/unstable.yml" + - "**.repos" schedule: - - cron: '0 5 * * *' + - cron: "0 5 * * *" release: types: - released @@ -41,9 +41,19 @@ jobs: run: | apt update apt upgrade -y - apt install -y wget software-properties-common + apt install -y wget libompl-dev + - name: Install Depends (non-noble) + if: ${{ matrix.distro != 'noble' }} + shell: bash + run: | + apt install -y software-properties-common add-apt-repository ppa:levi-armstrong/tesseract-robotics - apt install -y libompl-dev taskflow + apt install -y taskflow + - name: Install Depends (noble) + if: ${{ matrix.distro == 'noble' }} + shell: bash + run: | + apt install -y libtaskflow-cpp-dev - name: Build and Tests uses: tesseract-robotics/colcon-action@v8 diff --git a/docker/Dockerfile b/docker/Dockerfile index e40853ae51..8014ea9b06 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,6 @@ ARG TAG FROM ghcr.io/tesseract-robotics/trajopt:${TAG} +ENV E_TAG=$TAG SHELL ["/bin/bash", "-c"] @@ -8,16 +9,21 @@ ENV DEBIAN_FRONTEND noninteractive USER root # Install the dependency repositories -RUN apt install -y --no-install-recommends software-properties-common \ +RUN if [[ $(lsb_release -cs) != noble ]] ; then \ + 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 + && apt install -y libompl-dev taskflow \ + ; else \ + apt install -y libompl-dev libtaskflow-cpp-dev \ + ; fi # Bind mount the source directory so as not to unnecessarily copy source code into the docker image ARG WORKSPACE_DIR=/opt/tesseract_planning RUN --mount=type=bind,target=${WORKSPACE_DIR}/src/tesseract_planning \ cd ${WORKSPACE_DIR} \ && vcs import src < src/tesseract_planning/dependencies.repos --shallow \ + && rosdep update \ && rosdep install \ --from-paths ${WORKSPACE_DIR}/src \ -iry