Introduce blackboard support #405
Workflow file for this run
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
name: Test | |
# Test the python packages that are part of the toolchain | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
jobs: | |
test: | |
strategy: | |
matrix: | |
include: | |
- ros-distro: jazzy | |
os: ubuntu-24.04 | |
- ros-distro: humble | |
os: ubuntu-22.04 | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
# Checkout the repository | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
# Set up ROS | |
- name: Set up ROS | |
uses: ros-tooling/[email protected] | |
with: | |
required-ros-distributions: ${{ matrix.ros-distro }} | |
# Get smc_storm for testing | |
- name: Get smc_storm | |
id: get_smc_storm | |
run: | | |
wget https://github.com/convince-project/smc_storm/releases/download/0.0.3/smc_storm_executable.tar.gz | |
tar -xzf smc_storm_executable.tar.gz | |
./install.sh --install-dependencies | |
# Save the path to the smc_storm executable | |
echo SMC_STORM_PATH=$PWD/bin/ >> $GITHUB_OUTPUT | |
# Update pip | |
- name: Update pip | |
run: python -m pip install ${{ matrix.os == 'ubuntu-24.04' && '--break-system-packages' || '' }} --upgrade pip | |
# workaround python 3.12 issue | |
- name: Install special fork of js2py | |
run: | | |
pip install --break-system-packages git+https://github.com/felixonmars/[email protected] | |
if: ${{ matrix.os == 'ubuntu-24.04' }} | |
# install the packages | |
- name: Install packages | |
run: | | |
pip install ${{ matrix.os == 'ubuntu-24.04' && '--break-system-packages' || '' }} . | |
# this solves | |
# E ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject | |
- name: Downgrade numpy | |
run: | | |
pip install numpy==1.26.4 | |
if: ${{ matrix.os == 'ubuntu-22.04' }} | |
# lint packages | |
# TODO: add linting | |
# Prepare ROS WS for the tests | |
- name: Install ROS support pkgs | |
run: | | |
source /opt/ros/${{ matrix.ros-distro }}/setup.bash | |
mkdir ros_interfaces_ws | |
cd ros_interfaces_ws | |
ln -s ../ros_support_interfaces src | |
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release | |
# run the tests | |
- name: Run tests | |
run: | | |
export PATH=$PATH:${{ steps.get_smc_storm.outputs.SMC_STORM_PATH }} | |
source ros_interfaces_ws/install/setup.bash | |
pytest-3 -vs test/ |