Skip to content

Commit

Permalink
Use colcon-action (#963)
Browse files Browse the repository at this point in the history
  • Loading branch information
Levi-Armstrong authored Nov 14, 2023
1 parent 9e65046 commit cb053ec
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 171 deletions.
50 changes: 9 additions & 41 deletions .github/workflows/code_quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,49 +45,17 @@ jobs:
run: |
apt update
apt upgrade -y
apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git clang-tidy 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
./.github/workflows/add_ros_apt_sources.sh
apt install -y clang-tidy liboctomap-dev
- 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/[email protected]
- name: Build and Tests
uses: tesseract-robotics/colcon-action@v1
with:
path: ${{ matrix.job_type }}/.ccache
key: ${{ matrix.job_type }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ matrix.job_type }}-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 ${{ matrix.env.TARGET_CMAKE_ARGS }}
if [ $? -ge 1 ]; then return 1; fi
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: Upload CodeCov Results
shell: bash
Expand Down
59 changes: 8 additions & 51 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,56 +35,13 @@ jobs:
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
./.github/workflows/add_ros_apt_sources.sh
apt install -y liboctomap-dev
- 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/[email protected]
- name: Build and Tests
uses: tesseract-robotics/colcon-action@v1
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 -DTESSERACT_ENABLE_TESTING=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
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
59 changes: 8 additions & 51 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,56 +41,13 @@ jobs:
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
./.github/workflows/add_ros_apt_sources.sh
apt install -y liboctomap-dev
- 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/[email protected]
- name: Build and Tests
uses: tesseract-robotics/colcon-action@v1
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 -DTESSERACT_ENABLE_TESTING=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
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
42 changes: 14 additions & 28 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ jobs:
matrix:
os: [windows-2019, windows-2022]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
path: workspace/src/tesseract
path: target_ws/src

- name: vcpkg build
uses: johnwason/vcpkg-action@v5
Expand All @@ -36,36 +36,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/.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
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
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
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

0 comments on commit cb053ec

Please sign in to comment.