Update CI #89
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: 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/[email protected] | |
with: | |
packages: libprocps-dev | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Restore 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: 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 ls | |
# run: ls -la ${{ github.workspace }} | |
- name: Build packages | |
env: | |
MIRA_PATH: ${{ env.MIRA_PATH }} | |
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 |