Skip to content

Fix deploy workflow (#76) #460

Fix deploy workflow (#76)

Fix deploy workflow (#76) #460

Workflow file for this run

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/latest/download/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
rosdep update
rosdep install --from-paths src -y --ignore-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/