Update CI #79
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/[email protected] | |
with: | |
packages: 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 git | |
- 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 https://www.mira-project.org/downloads/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: Restore MIRA cache | |
id: restore-cache-mira | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.MIRA_PATH }} | |
key: mira-${{ runner.os }}-ubuntu-22.04 | |
- name: Check MIRA cache | |
run: ls -la ${{ env.MIRA_PATH }} | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.workspace }} | |
key: scitos2-${{ runner.os }}-${{ github.sha }}-${{ github.run_id }} | |
restore-keys: | | |
scitos2-${{ runner.os }}-${{ github.sha }} | |
scitos2-${{ runner.os }} | |
- name: Setup ROS 2 | |
uses: ros-tooling/[email protected] | |
with: | |
required-ros-distributions: humble | |
- name: Build packages | |
uses: ros-tooling/[email protected] | |
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/[email protected] | |
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 |