Update CI #90
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Simple set of rules for GitHub actions integration with a ROS project | |
# | |
name: Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
MIRA_PATH: ${{ github.workspace }}/mira | |
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:${{ github.workspace }}/mira | |
MIRA_URL: https://www.mira-project.org/downloads/ | |
jobs: | |
install-mira: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Cache APT Packages | |
uses: awalsh128/cache-apt-pkgs-action@v1.4.2 | |
with: | |
packages: git g++ cmake subversion doxygen libxml2-dev libssl-dev \ | |
libsqlite3-dev libboost-all-dev libogre-1.9-dev libsvn-dev \ | |
libopencv-dev binutils-dev libiberty-dev libcurl4-gnutls-dev \ | |
libprocps-dev libqwt-qt5-dev libqt5webkit5-dev libqwtmathml-qt5-dev \ | |
libqt5opengl5-dev libqt5svg5-dev qt*5-dev qttools5-dev-tools | |
- name: Cache MIRA | |
id: cache-mira | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.MIRA_PATH }} | |
key: mira-${{ runner.os }}-ubuntu-22.04 | |
- name: Install MIRA | |
if: steps.cache-mira.outputs.cache-hit != 'true' | |
run: | | |
curl -o mira-installer-binary.sh ${{ env.MIRA_URL }}/mira-installer-binary.sh | |
chmod +x mira-installer-binary.sh | |
./mira-installer-binary.sh -s ubuntu-2204lts-x64 -d ${{ env.MIRA_PATH }} | |
install-scitos2: | |
runs-on: ubuntu-22.04 | |
needs: install-mira | |
steps: | |
- name: Cache APT Packages | |
uses: awalsh128/cache-apt-pkgs-action@v1.4.2 | |
with: | |
packages: libprocps-dev | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup ROS 2 | |
uses: ros-tooling/setup-ros@0.7.5 | |
with: | |
required-ros-distributions: humble | |
- name: Restore MIRA cache | |
id: restore-cache-mira | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.MIRA_PATH }} | |
key: mira-${{ runner.os }}-ubuntu-22.04 | |
- name: Build packages | |
env: | |
MIRA_PATH: ${{ env.MIRA_PATH }} | |
uses: ros-tooling/action-ros-ci@0.3.13 | |
with: | |
package-name: | | |
scitos2 | |
scitos2_behavior_tree | |
scitos2_charging_dock | |
scitos2_common | |
scitos2_core | |
scitos2_mira | |
scitos2_modules | |
scitos2_msgs | |
target-ros2-distro: humble | |
vcs-repo-file-url: ./.github/dependencies.repos | |
colcon-defaults: | | |
{ | |
"build": { | |
"mixin": ["coverage-gcc", "coverage-pytest"] | |
}, | |
"test": { | |
"mixin": ["coverage-pytest"] | |
} | |
} | |
skip-tests: false | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v4.4.1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ros_ws/lcov/total_coverage.info,ros_ws/coveragepy/.coverage | |
flags: unittests | |
name: codecov-umbrella | |
slug: grupo-avispa/scitos2 |