diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a5b5211d..00a48494 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,20 +12,18 @@ jobs: matrix: include: - ros-distro: jazzy - os: ubuntu-24.04 + pip-break-system-packages: true - ros-distro: humble - os: ubuntu-22.04 fail-fast: false - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest + container: ros:${{ matrix.ros-distro }}-ros-core steps: # Checkout the repository - name: Checkout repository uses: actions/checkout@v2 - # Set up ROS - - name: Set up ROS - uses: ros-tooling/setup-ros@v0.7 - with: - required-ros-distributions: ${{ matrix.ros-distro }} + # Set up wget + - name: Set up wget, pip + run: apt update && apt install -y wget python3-pip # Get smc_storm for testing - name: Get smc_storm id: get_smc_storm @@ -37,32 +35,34 @@ jobs: 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/Js2Py.git@py3.12 - if: ${{ matrix.os == 'ubuntu-24.04' }} + run: python3 -m pip install ${{ matrix.pip-break-system-packages && '--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/Js2Py.git@py3.12 + # if: ${{ matrix.os == 'ubuntu-24.04' }} # install the packages - name: Install packages run: | - pip install ${{ matrix.os == 'ubuntu-24.04' && '--break-system-packages' || '' }} . + pip install ${{ matrix.pip-break-system-packages && '--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' }} + # - 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 + bash -c " + 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: |