diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fb6a08af..d5a1880a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,10 +9,15 @@ on: jobs: test: - runs-on: ubuntu-latest strategy: matrix: - ros-distro: [ "humble" ] + 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 @@ -29,6 +34,13 @@ jobs: repository: boschresearch/bt_tools ref: main path: colcon_ws/src/bt_tools + # Remove unused packages from checked out bt_tools + - name: Remove packages we don't need + run: | + rm -rf colcon_ws/src/bt_tools/bt_live + rm -rf colcon_ws/src/bt_tools/bt_tools + rm -rf colcon_ws/src/bt_tools/bt_tools_common + rm -rf colcon_ws/src/bt_tools/bt_view # Compile bt_tools TODO: remove after the release of bt_tools - name: Compile bt_tools run: | @@ -49,14 +61,19 @@ jobs: echo SMC_STORM_PATH=$PWD/bin/ >> $GITHUB_OUTPUT # Update pip - name: Update pip - run: python -m pip install --upgrade 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' }} # install the packages - name: Install packages run: | source colcon_ws/install/setup.bash # TODO: remove after the release of bt_tools - pip install jani_generator/.[dev] - pip install as2fm_common/.[dev] - pip install scxml_converter/.[dev] + pip install ${{ matrix.os == 'ubuntu-24.04' && '--break-system-packages' || '' }} jani_generator/.[dev] + pip install ${{ matrix.os == 'ubuntu-24.04' && '--break-system-packages' || '' }} as2fm_common/.[dev] + pip install ${{ matrix.os == 'ubuntu-24.04' && '--break-system-packages' || '' }} scxml_converter/.[dev] # lint packages # TODO: add linting # run the tests diff --git a/as2fm_common/pyproject.toml b/as2fm_common/pyproject.toml index 7945747b..7343303d 100644 --- a/as2fm_common/pyproject.toml +++ b/as2fm_common/pyproject.toml @@ -14,6 +14,7 @@ authors = [ license = {file = "LICENSE"} classifiers = [ "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.12", ] keywords = [] dependencies = [ diff --git a/jani_generator/pyproject.toml b/jani_generator/pyproject.toml index 05b6f3a9..ebb6547a 100644 --- a/jani_generator/pyproject.toml +++ b/jani_generator/pyproject.toml @@ -14,6 +14,7 @@ authors = [ license = {file = "LICENSE"} classifiers = [ "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.12", ] keywords = [] dependencies = [ diff --git a/scxml_converter/pyproject.toml b/scxml_converter/pyproject.toml index daaf5652..415931c5 100644 --- a/scxml_converter/pyproject.toml +++ b/scxml_converter/pyproject.toml @@ -14,11 +14,12 @@ authors = [ license = {file = "LICENSE"} classifiers = [ "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.12", ] keywords = [] dependencies = [ "networkx", - "btlib", + # "btlib", (would be good to declare here but then this is only installable in a ros environment) ] requires-python = ">=3.10"