From cb688fb8a0edc00be411441db00fa36627ba729c Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Wed, 21 Jan 2026 00:46:26 +0100 Subject: [PATCH 01/10] Add Raspbian Trixie armv6hf support --- .github/workflows/dockermatrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dockermatrix.yml b/.github/workflows/dockermatrix.yml index bf9ccccad..7ad690f86 100644 --- a/.github/workflows/dockermatrix.yml +++ b/.github/workflows/dockermatrix.yml @@ -29,7 +29,7 @@ jobs: #- { img: 'lebarsfa/pi-64:focal-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: arm64 , bitness: 64, runtime: focal , cmake_flags: '-fPIC', deb: true, desc: 'Ubuntu 20.04 arm64' } - { img: 'lebarsfa/amd64:trixie-for-codac' , os: ubuntu-latest , shell: bash, arch: amd64 , bitness: 64, runtime: trixie , cmake_flags: '-fPIC', deb: true, desc: 'Debian Trixie amd64' } - { img: 'lebarsfa/pi-64:trixie-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: arm64 , bitness: 64, runtime: trixie , cmake_flags: '-fPIC', deb: true, desc: 'Debian Trixie arm64' } - #- { img: 'lebarsfa/pi:trixie-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: armhf , bitness: 32, runtime: trixie , cmake_flags: '-fPIC', deb: true, desc: 'Raspbian Trixie armv6hf' } # No base image available... + - { img: 'lebarsfa/pi:trixie-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: armhf , bitness: 32, runtime: trixie , cmake_flags: '-fPIC', deb: true, desc: 'Raspbian Trixie armv6hf' } - { img: 'lebarsfa/amd64:bookworm-for-codac' , os: ubuntu-latest , shell: bash, arch: amd64 , bitness: 64, runtime: bookworm , cmake_flags: '-fPIC', deb: true, desc: 'Debian Bookworm amd64' } - { img: 'lebarsfa/pi-64:bookworm-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: arm64 , bitness: 64, runtime: bookworm , cmake_flags: '-fPIC', deb: true, desc: 'Debian Bookworm arm64' } - { img: 'lebarsfa/pi:bookworm-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: armhf , bitness: 32, runtime: bookworm , cmake_flags: '-fPIC', deb: true, desc: 'Raspbian Bookworm armv6hf' } From e585cdce10c4f422428aceb50de9773574074eaa Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Fri, 20 Feb 2026 22:00:21 +0100 Subject: [PATCH 02/10] Update workflows --- .github/workflows/dockercentos.yml | 2 +- .github/workflows/dockermatrix.yml | 2 +- .github/workflows/macosmatrix.yml | 2 +- .github/workflows/tests.yml | 2 +- .github/workflows/unixmatrix.yml | 4 ++-- .github/workflows/vcmatrix.yml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dockercentos.yml b/.github/workflows/dockercentos.yml index e81b929ac..71b2da456 100644 --- a/.github/workflows/dockercentos.yml +++ b/.github/workflows/dockercentos.yml @@ -22,7 +22,7 @@ jobs: - { img: 'lebarsfa/manylinux_2_28_aarch64-for-codac', os: ubuntu-24.04-arm, shell: bash, arch: aarch64, bitness: 64, runtime: manylinux_2_28, docker_flags: '--platform linux/arm64', desc: 'CentOS manylinux_2_28 aarch64' } name: ${{ matrix.cfg.desc }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 diff --git a/.github/workflows/dockermatrix.yml b/.github/workflows/dockermatrix.yml index 7ad690f86..7660553b3 100644 --- a/.github/workflows/dockermatrix.yml +++ b/.github/workflows/dockermatrix.yml @@ -42,7 +42,7 @@ jobs: #- { img: 'lebarsfa/pi:buster-for-codac' , os: ubuntu-24.04-arm, shell: bash, arch: armhf , bitness: 32, runtime: buster , cmake_flags: '-fPIC', deb: true, desc: 'Raspbian Buster armv6hf' } name: ${{ matrix.cfg.desc }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 diff --git a/.github/workflows/macosmatrix.yml b/.github/workflows/macosmatrix.yml index da66789bb..c3fb02cee 100644 --- a/.github/workflows/macosmatrix.yml +++ b/.github/workflows/macosmatrix.yml @@ -34,7 +34,7 @@ jobs: - { os: macos-15-intel , shell: bash, arch: x86_64 , runtime: sequoia , cmake_flags: '-fPIC', trgt: '10.16', cpcfg: '-macosx_10_16_x86_64', py_v_maj: 3, py_v_min: 8 , desc: 'macOS Sequoia Python 3.8 x86_64' } name: ${{ matrix.cfg.desc }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d85e07323..7d5cfe493 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,7 +20,7 @@ jobs: - { os: ubuntu-22.04 , gcc_v: 11, py_v_maj: 3, py_v_min: 10, with_capd: ON , desc: 'Ubuntu 22.04 GCC 11 Python 3.10 CAPD tests' } name: ${{ matrix.cfg.desc }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 diff --git a/.github/workflows/unixmatrix.yml b/.github/workflows/unixmatrix.yml index 8750353d1..988e2f176 100644 --- a/.github/workflows/unixmatrix.yml +++ b/.github/workflows/unixmatrix.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest if: (github.event_name!='pull_request')&&((github.ref_name=='codac1')||(github.ref_name=='codac2')||(github.ref_name=='codac2_codac4matlab')) steps: - - uses: softprops/action-gh-release@v2 + - uses: softprops/action-gh-release@v3 id: create_release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -68,7 +68,7 @@ jobs: - { os: macos-14 , shell: bash, arch: x86_64 , bitness: 64, runtime: sonoma , cmake_params: '-D CMAKE_SYSTEM_NAME=Darwin -D CMAKE_OSX_ARCHITECTURES=x86_64 -D CMAKE_OSX_DEPLOYMENT_TARGET=14.0', cmake_flags: '-fPIC', cross: true, desc: 'macOS Sonoma x86_64 (cross)' } name: ${{ matrix.cfg.desc }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 diff --git a/.github/workflows/vcmatrix.yml b/.github/workflows/vcmatrix.yml index 62b58767f..30435df55 100644 --- a/.github/workflows/vcmatrix.yml +++ b/.github/workflows/vcmatrix.yml @@ -35,7 +35,7 @@ jobs: - { os: windows-2022 , shell: cmd , arch: x64 , runtime: vc17 , cmake_params: '-G "Visual Studio 17" -T v143 -A x64' , cpcfg: '-win_amd64', py_v_maj: 3, py_v_min: 8 , desc: 'Windows Visual Studio 2022 x64 Python 3.8' } name: ${{ matrix.cfg.desc }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 From 966b8d8aee0e2e890cef88933ed20e60316da69f Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Sat, 18 Apr 2026 16:25:18 +0200 Subject: [PATCH 03/10] python -m unittest discover codac.tests seems to need numpy and sympy --- doc/manual/manual/installation/python.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/manual/manual/installation/python.rst b/doc/manual/manual/installation/python.rst index 0cdcfeb2c..6aa230324 100644 --- a/doc/manual/manual/installation/python.rst +++ b/doc/manual/manual/installation/python.rst @@ -26,6 +26,7 @@ You can also update and test your Codac Python package: * **Testing the installation**: In order to verify that your installation is working properly in Python, you can run: .. code-block:: bash + pip install numpy sympy python -m unittest discover codac.tests From 05ec0e4320537c57f1725c6b4b49aab70a731660 Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Sat, 18 Apr 2026 22:04:12 +0200 Subject: [PATCH 04/10] sphinx_togglebutton necessary for the manual --- .github/workflows/macosmatrix.yml | 2 +- .github/workflows/vcmatrix.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macosmatrix.yml b/.github/workflows/macosmatrix.yml index c3fb02cee..683f9c234 100644 --- a/.github/workflows/macosmatrix.yml +++ b/.github/workflows/macosmatrix.yml @@ -54,7 +54,7 @@ jobs: # if: runner.os=='macOS' - run: brew install catch2 # Issues with binary packages when cross-compiling... if: (runner.os=='macOS')&&(matrix.cfg.cross!=true) - - run: brew install graphviz ; brew install --formula doxygen ; python -m pip install --upgrade pip ; pip install --upgrade wheel setuptools sphinx breathe sphinx_rtd_theme sphinx-tabs sphinx-issues sphinx-reredirects furo sphinx-math-dollar sympy + - run: brew install graphviz ; brew install --formula doxygen ; python -m pip install --upgrade pip ; pip install --upgrade wheel setuptools sphinx breathe sphinx_rtd_theme sphinx-tabs sphinx-issues sphinx-reredirects furo sphinx-math-dollar sphinx_togglebutton sympy if: runner.os=='macOS' - run: | wget https://github.com/lebarsfa/ibex-lib/releases/download/ibex-2.8.9.20250626/ibex_${{ matrix.cfg.arch }}_${{ matrix.cfg.runtime }}.zip --no-check-certificate -nv diff --git a/.github/workflows/vcmatrix.yml b/.github/workflows/vcmatrix.yml index 30435df55..3039da799 100644 --- a/.github/workflows/vcmatrix.yml +++ b/.github/workflows/vcmatrix.yml @@ -56,7 +56,7 @@ jobs: if: runner.os=='Windows' #- run: choco install -y -r --no-progress eigen --version=3.4.0.20240224 ${{ matrix.cfg.choco_flags }} # if: runner.os=='Windows' - - run: choco install -y -r --no-progress graphviz doxygen.install & python -m pip install --upgrade pip & pip install --upgrade wheel setuptools sphinx breathe sphinx-issues sphinx-tabs sphinx_rtd_theme sphinx-reredirects furo sphinx-math-dollar sympy + - run: choco install -y -r --no-progress graphviz doxygen.install & python -m pip install --upgrade pip & pip install --upgrade wheel setuptools sphinx breathe sphinx-issues sphinx-tabs sphinx_rtd_theme sphinx-reredirects furo sphinx-math-dollar sphinx_togglebutton sympy if: runner.os=='Windows' - run: | wget https://github.com/lebarsfa/ibex-lib/releases/download/ibex-2.8.9.20250626/ibex.2.8.9.20250626.nupkg --no-check-certificate -nv From 5a26b4ebcc571c2339e02201291988e791f72547 Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Sat, 18 Apr 2026 17:21:09 +0200 Subject: [PATCH 05/10] Add the same link to VIBes documentation when it is mentioned --- doc/manual/development/info_dev.rst | 2 +- doc/manual/manual/installation/cpp.rst | 6 +++--- doc/manual/manual/installation/matlab.rst | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/manual/development/info_dev.rst b/doc/manual/development/info_dev.rst index 0b55724d2..9e5c297df 100644 --- a/doc/manual/development/info_dev.rst +++ b/doc/manual/development/info_dev.rst @@ -135,7 +135,7 @@ If you simply want to use the latest Codac release in Python, you can download t cd $HOME/codac/examples/03_sivia python main.py - Note that before executing the example, you will have to launch the VIBes viewer. + Note that before executing the example, you will have to launch the `VIBes viewer <../visualization/vibes.html>`_. You should obtain a graphical output corresponding to a set inversion. diff --git a/doc/manual/manual/installation/cpp.rst b/doc/manual/manual/installation/cpp.rst index 9f0399474..0605e517d 100644 --- a/doc/manual/manual/installation/cpp.rst +++ b/doc/manual/manual/installation/cpp.rst @@ -145,7 +145,7 @@ Steps cmake .. make - Before executing the example, you will have to launch the VIBes viewer. Then, + Before executing the example, you will have to launch the `VIBes viewer <../visualization/vibes.html>`_. Then, .. code-block:: bash @@ -171,7 +171,7 @@ Using Visual Studio Download and extract *e.g.* ``codac_standalone_x64_vc17.zip`` (for Visual Studio 2022) from https://github.com/codac-team/codac/releases/latest, open ``example\CMakelists.txt``, choose ``x64-Release`` configuration in Visual Studio (instead of ``x64-Debug``), double-click on ``main.cpp`` in the Solution Explorer and then click on the green Start button, and finally check that the graphical output appears. -Note that in order to obtain graphical outputs, you will have to download and run https://github.com/ENSTABretagneRobotics/VIBES/releases/download/0.2.3/VIBes-0.2.3-win32.exe before running the project. +Note that in order to obtain graphical outputs, you will have to download and run https://github.com/ENSTABretagneRobotics/VIBES/releases/latest/download/VIBes-viewer_x86.exe before running the project. Install from the sources (latest developments) @@ -234,7 +234,7 @@ and check that the graphical output appears. For macOS 12 Monterey on a Mac with Apple silicon (arm64 processor), use ``codac_standalone_x86_64_monterey.zip`` for a Mac with an Intel processor (x86_64 processor), see https://support.apple.com/en-us/116943. -Note that in order to obtain graphical outputs, you will have to download and run https://github.com/ENSTABretagneRobotics/VIBES/releases/download/0.2.3/VIBes-0.2.2-osx.dmg before running the project. +Note that in order to obtain graphical outputs, you will have to download and run https://github.com/ENSTABretagneRobotics/VIBES/releases/latest/download/VIBes-viewer_x86_64.dmg before running the project. diff --git a/doc/manual/manual/installation/matlab.rst b/doc/manual/manual/installation/matlab.rst index 0fe6071fe..b23d31901 100644 --- a/doc/manual/manual/installation/matlab.rst +++ b/doc/manual/manual/installation/matlab.rst @@ -31,7 +31,7 @@ Once Codac is installed, you can use it in your MATLAB scripts using the followi Potential problem with VIBes ---------------------------- -One of the graphical outputs supported in Codac is `the VIBes viewer `_. +One of the graphical outputs supported in Codac is the `VIBes viewer <../visualization/vibes.html>`_. VIBes uses a client/server architecture and reads its configuration from the ``.vibes.json`` file located in your home directory (typically ``$HOME``). This file is automatically generated. If you launch MATLAB with ``sudo``, the ``HOME`` variable points to ``/root``, and VIBes will not find the ``.vibes.json`` file, causing the display to fail. From 9134ffee62829b74ddca61c4555e97727b0cbcdb Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Sat, 18 Apr 2026 17:30:17 +0200 Subject: [PATCH 06/10] Mention BUILD_TESTS=ON for the unit tests to work --- doc/manual/development/info_dev.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/manual/development/info_dev.rst b/doc/manual/development/info_dev.rst index 9e5c297df..1aacd1db6 100644 --- a/doc/manual/development/info_dev.rst +++ b/doc/manual/development/info_dev.rst @@ -95,12 +95,12 @@ If you simply want to use the latest Codac release in Python, you can download t Note that you will then have to ``import codac2`` instead of ``import codac`` in your Python scripts. - In addition to the ``-fPIC`` options, you will have to configure ``WITH_PYTHON=ON`` and ``PYBIND11_FINDPYTHON=OFF``. Note that CMake will automatically get the `pybind11 `_ files required for the binding. + In addition to the ``-fPIC`` options, you will have to configure ``WITH_PYTHON=ON`` and ``PYBIND11_FINDPYTHON=OFF``. Note that CMake will automatically get the `pybind11 `_ files required for the binding. Also, you will have to configure ``BUILD_TESTS=ON`` if you want to run the unit tests. .. code-block:: bash mkdir build ; cd build - cmake -DCMAKE_CXX_FLAGS="-fPIC" -DCMAKE_C_FLAGS="-fPIC" -DWITH_PYTHON=ON -DPYBIND11_FINDPYTHON=OFF -DCMAKE_INSTALL_PREFIX=$HOME/codac/build_install -DCMAKE_PREFIX_PATH="$HOME/ibex-lib/build_install;$HOME/doxygen/build_install" -DCMAKE_BUILD_TYPE=Release .. + cmake -DCMAKE_CXX_FLAGS="-fPIC" -DCMAKE_C_FLAGS="-fPIC" -DWITH_PYTHON=ON -DPYBIND11_FINDPYTHON=OFF -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=$HOME/codac/build_install -DCMAKE_PREFIX_PATH="$HOME/ibex-lib/build_install;$HOME/doxygen/build_install" -DCMAKE_BUILD_TYPE=Release .. make ; make install 4. **Configure your Python environment**: From 0f5dcb4408e8cf22ea2308889559ab95b06bb884 Mon Sep 17 00:00:00 2001 From: lebarsfa Date: Sat, 18 Apr 2026 17:31:18 +0200 Subject: [PATCH 07/10] Version updates and other updates in the documentation --- README.md | 6 +++--- doc/manual/development/info_dev.rst | 4 ++-- doc/manual/manual/installation/cpp.rst | 17 +++++++++++------ packages/choco/codac/codac.nuspec | 4 ++-- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f6e21a60f..b6c20bc7a 100644 --- a/README.md +++ b/README.md @@ -81,8 +81,8 @@ This list is in alphabetical order by surname. - [Peter Franek](http://www.cs.cas.cz/~franek) - [Maël Godard](https://godardma.github.io) - [Nuwan Herath M.](https://members.loria.fr/NHerathMudiyanselage) -- [Luc Jaulin](https://www.ensta-bretagne.fr/jaulin) -- [Fabrice Le Bars](https://www.ensta-bretagne.fr/lebars) +- [Luc Jaulin](https://webperso.ensta.fr/jaulin) +- [Fabrice Le Bars](https://webperso.ensta.fr/lebars) - [Morgan Louédec](https://morgan-louedec.fr) - [Damien Massé](https://lab-sticc.univ-brest.fr/~dmasse) - [Bertrand Neveu](http://imagine.enpc.fr/~neveub) @@ -91,7 +91,7 @@ This list is in alphabetical order by surname. - [Simon Rohou](http://simon-rohou.fr/research) - [Joris Tillet](https://perso.ensta-paris.fr/~tillet/) - [Gilles Trombettoni](https://www.lirmm.fr/~trombetton) -- [Christophe Viel](https://www.ensta-bretagne.fr/viel/) +- [Christophe Viel](https://webperso.ensta.fr/viel/) - [Raphael Voges](https://raphael-voges.de) We appreciate all contributions, whether they are code, documentation, bug reports, or suggestions. If you believe you should be listed here and are not, please contact us to update the list. diff --git a/doc/manual/development/info_dev.rst b/doc/manual/development/info_dev.rst index 1aacd1db6..ceddec0ec 100644 --- a/doc/manual/development/info_dev.rst +++ b/doc/manual/development/info_dev.rst @@ -41,8 +41,8 @@ If you simply want to use the latest Codac release in Python, you can download t sudo apt-get install -y g++ gcc cmake git flex bison - - a supported version of Python (>=3.6). - - a recent `Doxygen `_ version (for instance, release 1.13.0 or newest). On Linux systems, latest releases are not available as Debian packages, so we advice to install Doxygen from the sources: + - a supported version of Python (>=3.8). + - a recent `Doxygen `_ version (for instance, release 1.16.1 or newest). On Linux systems, latest releases are not available as Debian packages, so we advise to install Doxygen from the sources: .. code-block:: bash diff --git a/doc/manual/manual/installation/cpp.rst b/doc/manual/manual/installation/cpp.rst index 0605e517d..cd5169aaa 100644 --- a/doc/manual/manual/installation/cpp.rst +++ b/doc/manual/manual/installation/cpp.rst @@ -163,7 +163,11 @@ Install from packages (latest release) Using MinGW ~~~~~~~~~~~ -Check https://community.chocolatey.org/packages/codac. +.. Check https://community.chocolatey.org/packages/codac. + +Install `Chocolatey package manager `_, run `choco install -y ibex cmake make qtcreator` in PowerShell and then download and extract *e.g.* ``codac_standalone_x64_mingw13.zip`` (for MinGW 13) from https://github.com/codac-team/codac/releases/latest, launch Qt Creator and choose Open Project, open ``example\CMakelists.txt``, ensure Desktop is selected and click Configure Project (might be hidden behind notifications at the bottom-right), wait 10 s then click on the big bottom-left green Run button, and finally check that the graphical output appears. + +Note that in order to obtain graphical outputs, you will have to download and run https://github.com/ENSTABretagneRobotics/VIBES/releases/latest/download/VIBes-viewer_x86.exe before running the project. Using Visual Studio @@ -190,15 +194,16 @@ Optionally, for Python binding (*e.g.* ``choco install python --version=3.10.4`` .. code-block:: bash - choco install doxygen.install --version=1.16 + choco install doxygen.install --version=1.16.1 choco install graphviz python -m pip install --upgrade pip pip install --upgrade wheel setuptools sphinx sphinx_rtd_theme furo sphinx-math-dollar sphinx_tabs breathe sphinx_togglebutton -The logic to follow will then be similar to Linux (note that for Visual Studio, commands such as ``make install`` need to be replaced with something similar to: +The logic to follow will then be similar to Linux. You might want to right-click in your desired folder and choose ``Git Bash Here`` to run the commands related to Git and compilation. Note that for Visual Studio, commands such as ``make`` and ``make install`` need to be replaced with something similar to: .. code-block:: bash + cmake --build . --config Release cmake --build . --config Release --target install .. warning:: @@ -221,7 +226,7 @@ Install `Homebrew package manager `_ and then build tools: brew install wget autoconf automake libtool brew install --cask cmake -Download and extract *e.g.* ``codac_standalone_arm64_monterey.zip`` from ``_, then in ``example`` folder run: +Download and extract *e.g.* ``codac_standalone_arm64_sonoma.zip`` from https://github.com/codac-team/codac/releases/latest, then in ``example`` folder run: .. code-block:: bash @@ -229,9 +234,9 @@ Download and extract *e.g.* ``codac_standalone_arm64_monterey.zip`` from `