Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
d98685e
ignore more stuff
ahoarau Dec 11, 2025
2d9d4f6
update gersemi conf
ahoarau Dec 11, 2025
077db6f
add KMP_DUPLICATE_LIB_OK directly in the __init__.py
ahoarau Dec 11, 2025
445825a
use raw string format in QPFunction to prevent warning during stub gen
ahoarau Dec 11, 2025
d30de9f
fix documentation compile option
ahoarau Dec 11, 2025
57cf81a
add pixi support
ahoarau Dec 11, 2025
23a58ce
remove submodules
ahoarau Dec 11, 2025
cbb864a
remove unused cmake-external
ahoarau Dec 11, 2025
ba1d791
remove external libraries
ahoarau Dec 11, 2025
21891a2
update doc
ahoarau Dec 11, 2025
dc0147c
use cmake provided doxygen functions
ahoarau Dec 11, 2025
2a26119
add white bg logo for documentation and readme
ahoarau Dec 11, 2025
dab81c9
factorize.hpp: fix conversion warning
ahoarau Dec 11, 2025
fb753b9
remove no longer needed condition in c++17
ahoarau Dec 11, 2025
9f2bbde
remove extra Eigen?Core header
ahoarau Dec 11, 2025
e5a229a
workspace.hpp: fix local variable shadowing a struct member
ahoarau Dec 11, 2025
cbd5e39
random_qp_problems.hpp: use static variables intead of global variables
ahoarau Dec 11, 2025
98482f1
separate tests in cpp and python folders
ahoarau Dec 11, 2025
768adc7
Refactor CMake with JRL CMake Modules v2
ahoarau Dec 11, 2025
2af9b09
intregrate get-jrl-cmakemodules.cmake
ahoarau Dec 12, 2025
1f2440d
update jrl url to point to fork
ahoarau Dec 15, 2025
445be09
require jrl-cmakemodules version 2.0.0
ahoarau Dec 16, 2025
c4644fe
include stubs pyi files in the installation
ahoarau Dec 16, 2025
9d82c99
ros-ci: add verbosity
ahoarau Dec 17, 2025
3e0e4e7
changelog: add jrl v2 entry
ahoarau Dec 17, 2025
17a883a
get-jrl.cmake: update with latest version
ahoarau Dec 22, 2025
29a1d91
ci: minor cosmetics changes
ahoarau Dec 22, 2025
ff19552
main cmake: add back copyright
ahoarau Dec 22, 2025
101a06a
ci: add initial pixi ci
ahoarau Dec 22, 2025
5b07a5e
ci: update deps on arch ci
ahoarau Dec 22, 2025
ea046f3
ci: use pixi to generate docs
ahoarau Dec 22, 2025
20f057c
ci: add cache to pixi
ahoarau Dec 22, 2025
29ab1f3
ci: condition pixi ci like the other cis
ahoarau Dec 22, 2025
30e70ae
ci: add catch2 dep (arch)
ahoarau Dec 22, 2025
2fe1424
ci: add catch2 dep in conda
ahoarau Dec 22, 2025
54760a4
ci: add ceral and nanobind to conda env
ahoarau Dec 22, 2025
ad57c28
cmake: stubs depends on all targets built
ahoarau Dec 22, 2025
b905133
cmake: check vectorization support and add debug message
ahoarau Dec 22, 2025
e028397
ros: add cereal catch2 deps
ahoarau Dec 22, 2025
2088fae
ros: add graphviz dep
ahoarau Dec 22, 2025
e2562ac
ci: enable caching for ros ci
ahoarau Dec 22, 2025
a502e05
cmake: condition cereal dep
ahoarau Dec 22, 2025
bea9a0a
cmake: use fetchcontent as fallback for catch2
ahoarau Dec 22, 2025
1c8e38f
cmake: SYSTEM is not recognized on cmake 3.22
ahoarau Dec 22, 2025
efb5a91
dense_maros_meszaros: include header locally
ahoarau Dec 22, 2025
53e4db0
ci: add linux ci via APT
ahoarau Dec 22, 2025
5f22337
cmake: disable maros meszaros for now they crash
ahoarau Dec 22, 2025
270aa60
ci: add cereal on arch
ahoarau Dec 22, 2025
c9d4194
ci: add nanobind dep to arch
ahoarau Dec 22, 2025
57c3e89
ci: add graphviz dep to arch
ahoarau Dec 22, 2025
acf4c26
ci: add doxygen dep to arch
ahoarau Dec 22, 2025
1ea0eee
cmake: fallback to fetchcontent for cereal
ahoarau Dec 22, 2025
bcbe324
cmake : remove version min for cereal
ahoarau Dec 22, 2025
7c280ca
pyproject: require nanobind >=2.5.0
ahoarau Dec 22, 2025
fe2b029
pyproject: no min for nanobind
ahoarau Dec 22, 2025
2147664
pyproject: nanobind is not compatible with python <3.9
ahoarau Dec 22, 2025
b66b38e
cmake: fallback to fetchcontent for nanobind
ahoarau Dec 22, 2025
625bf6a
README: add pixi section
ahoarau Dec 22, 2025
7f91d14
cmake: downgrade nanobind to 2.9.2 to support python 3.8
ahoarau Dec 22, 2025
5110025
cmake: change default options to mimic upstream
ahoarau Dec 22, 2025
5888cb4
cmake: fix property name
ahoarau Dec 22, 2025
31f074c
cmake: use target_include_directories
ahoarau Dec 22, 2025
9d45d08
ci: build in build folder
ahoarau Dec 27, 2025
781577b
cmake: add components test
ahoarau Dec 27, 2025
7284be8
ci: add components test
ahoarau Dec 27, 2025
fea2b84
pixi: add uninstall task
ahoarau Dec 27, 2025
61471b9
cmake: add back LINK_PYTHON_INTERFACE_TO_OPENMP option
ahoarau Dec 27, 2025
d1d03ab
ci: use multiline commands and cleanup
ahoarau Dec 27, 2025
cecec22
cmake: fix link libs on python target
ahoarau Dec 27, 2025
842cd82
ci: format
ahoarau Dec 27, 2025
1171197
cmake: format
ahoarau Dec 27, 2025
f278989
cmake: the generator expression does not seem to work
ahoarau Dec 27, 2025
acb8fae
ignore wheels
ahoarau Dec 27, 2025
d9566eb
pyproject: do not run tests when building wheels
ahoarau Dec 27, 2025
9c8e1a4
ci: executables are in build dir
ahoarau Dec 27, 2025
1da193f
cmake: limit to version >=3.22
ahoarau Dec 27, 2025
1b722db
cmake: disable testing by default
ahoarau Dec 27, 2025
0b9dd28
ci: do not run executable
ahoarau Dec 27, 2025
171be54
ci: build with vectorization support for test to work
ahoarau Dec 27, 2025
e5a0c64
ci: simplify conda script
ahoarau Dec 27, 2025
3254983
ci: activate conda env according to the doc
ahoarau Dec 27, 2025
11bf7d5
ci: run on pwsh explicitely
ahoarau Dec 27, 2025
2e63fb3
ci: use CMD for windows conda
ahoarau Dec 27, 2025
250a2fe
ci: rename jobs to include compiler
ahoarau Dec 27, 2025
db6ea8b
c: add specific case for clang-cl
ahoarau Dec 29, 2025
4237934
ci: use cxx-compilers
ahoarau Dec 29, 2025
4d9e9b2
ci: reset to shell: bash -el {0}
ahoarau Dec 29, 2025
28e06f2
ci: cxx-compiler (no s)
ahoarau Dec 29, 2025
9dfc58c
ci: use CMAKE_C_COMPILER
ahoarau Dec 29, 2025
ea3836c
ci: add msvc action
ahoarau Dec 30, 2025
5623619
ci: setup msvc first
ahoarau Dec 30, 2025
f5403c3
ci: use cmd
ahoarau Dec 30, 2025
d8ab684
ci: use CC and CXX
ahoarau Dec 30, 2025
b10c028
ci: use local env vars
ahoarau Dec 30, 2025
68a37b0
ci: use set instead of env
ahoarau Dec 30, 2025
1a664f6
ci: temporarly disable nix ci
ahoarau Jan 6, 2026
9e8e597
ci: uniformize names
ahoarau Jan 6, 2026
99aa157
pixi.toml: remove cmake profiling
ahoarau Jan 6, 2026
fd95f48
pixi.toml: add packaging tests
ahoarau Jan 6, 2026
102f1ba
cmake: use local fetchcontent repo
ahoarau Jan 6, 2026
4ed3438
ci: remove conda workflow for pixi
ahoarau Jan 6, 2026
fcdf921
ci: integrate the conda workflow tests and variants
ahoarau Jan 6, 2026
ea94f05
ci: merge configure and build to provide the cmake args
ahoarau Jan 6, 2026
ff7a1d5
pixi.toml: pass build type and cxx standard via cmdline/env
ahoarau Jan 6, 2026
95f637d
ci: use env to pass args to pixi
ahoarau Jan 6, 2026
bd579c6
ci: rename to ci-ros
ahoarau Jan 6, 2026
dd60b30
ci: enable additional build options
ahoarau Jan 6, 2026
7584853
cmake: normalize PROXSUITE_FETCHCONTENT_SOURCE_DIR path for windows
ahoarau Jan 6, 2026
38121bf
pixi.toml: use PROXSUITE_CXX_STANDARD instead
ahoarau Jan 6, 2026
8a39f53
ci: use PROXSUITE_CXX_STANDARD instead
ahoarau Jan 6, 2026
60f0817
cmake: define PROXSUITE_CXX_STANDARD
ahoarau Jan 6, 2026
97db810
cmake: reformat with new gersemi version
ahoarau Jan 6, 2026
e9a88c0
pre-commit: use new ruff-check id
ahoarau Jan 6, 2026
f33ac24
ci: make sure the env vars are available everywhere
ahoarau Jan 6, 2026
d47a7f0
cmake: fix TO_CMAKE_PATH_LIST
ahoarau Jan 6, 2026
09c9f43
ci: build with --verbose
ahoarau Jan 6, 2026
74df94a
pixi.toml: remove CMAKE_VERBOSE_MAKEFILE
ahoarau Jan 6, 2026
e75ac67
ci: build with only 2 jobs
ahoarau Jan 6, 2026
5e68bc1
cmake: on windows, use fetchcontent to get catch2
ahoarau Jan 6, 2026
b173fd8
ci: remove the conda env
ahoarau Jan 6, 2026
33a4131
cmake: DOWNLOAD_EXTRACT_TIMESTAMP is not available on cmake 3.22
ahoarau Jan 6, 2026
aeccfe5
pixi.toml: relax deps contrains to allow to use cmake 3.22 exact
ahoarau Jan 6, 2026
73876c7
pixi.toml: add verbosity to tests
ahoarau Jan 7, 2026
1172462
cmake: use only 3.22 to prevent the clang modules scanner to be trigg…
ahoarau Jan 7, 2026
f433c81
pixi.toml: add cpp20 and cpp23 envs
ahoarau Jan 7, 2026
abad812
pixi.lock: update
ahoarau Jan 7, 2026
6cf4c38
rename BENCHMARK to BENCHMARKS
ahoarau Jan 8, 2026
0f76d02
package.xml: drop ROS iron and python 2
ahoarau Jan 8, 2026
e858a0c
ci: update ROS CI and enable features
ahoarau Jan 8, 2026
aece776
ci: disabling tests on windows+debug (too slow)
ahoarau Jan 8, 2026
a2c0506
ci: disable fail-fast strategy
ahoarau Jan 8, 2026
7c570ad
package.xml: add python3-dev build depend
ahoarau Jan 8, 2026
972aa0e
python: import scipy.sparse.linalg explicitly for ubuntu 22
ahoarau Jan 8, 2026
e5559ef
ci: add build release and debug on ubuntu
ahoarau Jan 8, 2026
1cd86a6
ci: cosmetics
ahoarau Jan 8, 2026
6eb9a5e
ci: only build with 1 core to prevent swapping
ahoarau Jan 8, 2026
7eba647
rosci: add kilted and configure cache
ahoarau Jan 8, 2026
34c5818
implement uint128 on msvc
ahoarau Jan 9, 2026
a25d4fe
fix julia test example
ahoarau Jan 9, 2026
f06d533
gitignore: ignore dist/
ahoarau Jan 9, 2026
46a343e
cmake: remove extra cereal link
ahoarau Jan 9, 2026
4747eed
cmake: make examples part of the test suite
ahoarau Jan 9, 2026
8b83416
cmake: add comments on fetchcontent fallbacks
ahoarau Jan 9, 2026
4c48aa4
python: import linalg explicitely for ubuntu 22
ahoarau Jan 9, 2026
79c3994
cmake: add ros2 support
ahoarau Jan 13, 2026
75d1354
ci: reorder the env vars
ahoarau Jan 13, 2026
612c9c5
cmake: generate ros2 python package files with condiition
ahoarau Jan 13, 2026
184fc70
ci: use latest master commit
ahoarau Jan 13, 2026
eca65ba
pixi: numpy must be <2.4 due to nanobind limitation
ahoarau Jan 20, 2026
49e6483
cmake: check Eigen3::Eigen target before calling find_package
ahoarau Jan 22, 2026
2c62234
cmake: use proxsuite::proxsuite target
ahoarau Feb 5, 2026
30adbe9
cmake: use new option api
ahoarau Feb 5, 2026
d3cb41f
gersemi: put back definitions
ahoarau Feb 5, 2026
f69edbc
cmake: reformat tests
ahoarau Feb 5, 2026
e7cabc0
cmake: add PROXSUITE_EXPORT_PACKAGE option
ahoarau Feb 5, 2026
dc1921b
cmake: add eigen fetchcontent support for testing
ahoarau Feb 5, 2026
320a229
cmake: fix new option API
ahoarau Feb 5, 2026
4f05a3e
pixi: isolate packaging tests
ahoarau Feb 5, 2026
49cb505
pixi: update lock file
ahoarau Feb 5, 2026
2820d25
pixi: update lock file
ahoarau Feb 6, 2026
646295a
cmake: only install the html folder, and putit in doc component
ahoarau Feb 6, 2026
946d1e4
cpp: make sure maros sparse test finds the helper header
ahoarau Feb 6, 2026
721fd20
cmake: add maros_meszaros label
ahoarau Feb 6, 2026
c396e09
cmake: remove the eigen3 find_package fallback
ahoarau Feb 6, 2026
c5e1bf5
pixi: refactor into features
ahoarau Feb 6, 2026
26dab1e
ci: update with new pixi file
ahoarau Feb 6, 2026
f4f7308
pixi: update lock file
ahoarau Feb 6, 2026
bb7efaf
rosci: do not use prerelease
ahoarau Feb 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gersemirc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
definitions: [./CMakeLists.txt,./cmake-module,./cmake-external,./bindings,./include]
line_length: 80
definitions: [./CMakeLists.txt, ./test]
line_length: 100
indent: 2
warn_about_unknown_commands: false
20 changes: 9 additions & 11 deletions .github/workflows/ci-arch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: CI - ArchLinux

on:
push:
branches: devel
branches:
- devel
pull_request:
paths-ignore:
- CHANGELOG.md
Expand All @@ -13,16 +14,13 @@ concurrency:

jobs:
build-with-arch:
runs-on: "ubuntu-latest"
name: CI - ArchLinux
runs-on: ubuntu-latest
container:
image: archlinux/archlinux:base-devel
steps:
- run: pacman -Syu --noconfirm cmake eigen git libmatio python-scipy simde

- uses: actions/checkout@v6
with:
submodules: recursive

- run: cmake -B build -S . -DBUILD_PYTHON_INTERFACE=ON
- run: cmake --build build
- run: cmake --build build -t test
- run: pacman -Syu --noconfirm cmake ninja catch2 git eigen cereal libmatio doxygen graphviz nanobind python-scipy simde
- uses: actions/checkout@v6
- run: cmake -G Ninja -B build -S . -DBUILD_PYTHON_INTERFACE=ON
- run: cmake --build build
- run: ctest --test-dir build --output-on-failure
221 changes: 0 additions & 221 deletions .github/workflows/ci-linux-osx-win-conda.yml

This file was deleted.

57 changes: 0 additions & 57 deletions .github/workflows/ci-linux-ros.yml

This file was deleted.

77 changes: 77 additions & 0 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: CI - Linux (APT)

on:
push:
branches:
- devel
pull_request:
paths-ignore:
- CHANGELOG.md

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
name: CI - ${{ matrix.os }} - ${{ matrix.build_type }} (APT)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04]
build_type: [Release, Debug]
env:
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_DIR: ${{ github.workspace }}/.ccache
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
steps:
- uses: actions/checkout@v6
- name: Setup ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ runner.os }}-${{ matrix.os }}-${{ github.sha }}
restore-keys: ccache-${{ runner.os }}-${{ matrix.os }}-

- name: Update APT repositories
run: sudo apt-get update

- name: Install dependencies via APT
run: sudo apt-get install -y cmake ninja-build ccache graphviz libmatio-dev doxygen catch2 libeigen3-dev python3-numpy python3-dev python3-scipy

- name: Clear ccache stats
run: ccache --show-stats --zero-stats --verbose

- name: CMake Configure
run: /usr/bin/cmake -G Ninja -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE=ON -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON -DBUILD_DOCUMENTATION=ON -DBUILD_BENCHMARKS=ON

- name: CMake Build
run: /usr/bin/cmake --build build --verbose --parallel 2

- name: Show ccache stats
run: ccache --show-stats --verbose

- name: CTest
run: /usr/bin/ctest --test-dir build --output-on-failure

- name: CMake Install
run: /usr/bin/cmake --install build --prefix install

check:
if: always()
name: check-linux

needs:
- build_and_test

runs-on: Ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
Loading
Loading