diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 434f272..1e81375 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, ubuntu-22.04] + os: [ubuntu-22.04, ubuntu-24.04] robotology: - { yarp: yarp-3.8, cmake: 3.16.x } - { yarp: yarp-3.9, cmake: 3.16.x } @@ -63,8 +63,16 @@ jobs: ref: ${{matrix.robotology.yarp}} path: .deps/yarp + - name: Check out SWIG + if: ${{matrix.os == 'ubuntu-24.04'}} + uses: actions/checkout@v4 + with: + repository: swig/swig + ref: v4.2.1 + path: .deps/swig + - name: Install dependencies via apt - run: sudo apt-get update && sudo apt-get install -qq ccache libespeak-dev mbrola-en1 googletest pulseaudio + run: sudo apt-get install -qq ccache libespeak-dev mbrola-en1 googletest pulseaudio - name: Set up CMake uses: jwlawson/actions-setup-cmake@v2 @@ -93,6 +101,14 @@ jobs: cmake --build .deps/yarp/build sudo cmake --install .deps/yarp/build + - name: Build SWIG + if: ${{matrix.os == 'ubuntu-24.04'}} + run: | + cmake -S .deps/swig -B .deps/swig/build $CMAKE_CCACHE_LAUNCHER + cmake --build .deps/swig/build + sudo cmake --install .deps/swig/build + sudo ln -s /usr/local/bin/swig /usr/local/bin/swig4.0 # shadows /usr/bin/swig4.0 + - name: Configure speech run: cmake -S . -B build $CMAKE_CCACHE_LAUNCHER -DCREATE_BINDINGS_PYTHON=ON -DENABLE_examples=ON