Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Simple-Robotics/proxsuite
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.5.1
Choose a base ref
...
head repository: Simple-Robotics/proxsuite
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 4,497 additions and 2,171 deletions.
  1. +14 −0 .github/workflows/check-changelog.yml
  2. +27 −0 .github/workflows/ci-arch.yml
  3. +47 −45 .github/workflows/ci-linux-osx-win-conda.yml
  4. +22 −11 .github/workflows/ci-linux-ros.yml
  5. +0 −88 .github/workflows/ci-osx-arm64-conda.yml
  6. +20 −0 .github/workflows/conda/environment.yml
  7. +11 −13 .github/workflows/gh-pages.yml
  8. +94 −36 .github/workflows/release-linux.yml
  9. +29 −37 .github/workflows/release-osx-win.yml
  10. +3 −5 .gitmodules
  11. +5 −3 .pre-commit-config.yaml
  12. +497 −0 CHANGELOG.md
  13. +2 −2 CITATION.cff
  14. +57 −26 CMakeLists.txt
  15. +1 −1 LICENSE
  16. +25 −5 README.md
  17. +2 −2 benchmark/CMakeLists.txt
  18. +109 −29 benchmark/timings-parallel.py
  19. +105 −24 bindings/python/CMakeLists.txt
  20. +1 −0 bindings/python/external/nanobind
  21. +0 −1 bindings/python/external/pybind11
  22. +4 −3 bindings/python/helpers/instruction-set.cpp
  23. +9 −0 bindings/python/proxsuite/torch/__init__.py
  24. +616 −0 bindings/python/proxsuite/torch/qplayer.py
  25. +60 −0 bindings/python/proxsuite/torch/utils.py
  26. +2 −1 bindings/python/src/algorithms.hpp
  27. +27 −17 bindings/python/src/expose-all.cpp
  28. +37 −0 bindings/python/src/expose-backward.hpp
  29. +32 −31 bindings/python/src/expose-helpers.hpp
  30. +71 −51 bindings/python/src/expose-model.hpp
  31. +58 −22 bindings/python/src/expose-parallel.hpp
  32. +156 −209 bindings/python/src/expose-qpobject.hpp
  33. +17 −12 bindings/python/src/expose-qpvector.hpp
  34. +86 −70 bindings/python/src/expose-results.hpp
  35. +65 −72 bindings/python/src/expose-settings.hpp
  36. +257 −185 bindings/python/src/expose-solve.hpp
  37. +67 −56 bindings/python/src/expose-workspace.hpp
  38. +0 −16 bindings/python/src/helpers.hpp
  39. +60 −0 bindings/python/src/optional-eigen-fix.hpp
  40. +0 −23 bindings/python/src/optional.hpp
  41. +1 −1 cmake-module
  42. +2 −1 doc/1-Overview.md
  43. +8 −8 doc/{2-PROXQP_API → }/2-ProxQP_api.md
  44. +4 −4 doc/3-ProxQP_solve.md
  45. +0 −9 doc/4-linearsolvers.md
  46. +35 −0 doc/4-qplayer.md
  47. +2 −0 doc/5-installation.md
  48. +3 −3 doc/Doxyfile.extra.in
  49. +0 −9 doc/rankupdate/rankupdate.aux
  50. +0 −68 doc/rankupdate/rankupdate.fdb_latexmk
  51. +0 −239 doc/rankupdate/rankupdate.fls
  52. +4 −4 examples/cpp/CMakeLists.txt
  53. +1 −1 examples/cpp/benchmark_dense_qp.cpp
  54. +2 −1 examples/cpp/estimate_nonconvex_eigenvalue.cpp
  55. +1 −0 examples/cpp/init_dense_qp.cpp
  56. +1 −0 examples/cpp/init_dense_qp_with_box.cpp
  57. +1 −0 examples/cpp/init_dense_qp_with_other_options.cpp
  58. +1 −0 examples/cpp/init_dense_qp_with_timings.cpp
  59. +1 −0 examples/cpp/init_with_default_options.cpp
  60. +1 −0 examples/cpp/initializing_with_none.cpp
  61. +1 −0 examples/cpp/initializing_with_none_without_api.cpp
  62. +1 −0 examples/cpp/loading_dense_qp.cpp
  63. +1 −0 examples/cpp/loading_dense_qp_with_box_ineq.cpp
  64. +1 −0 examples/cpp/loading_dense_qp_with_different_backend_choice.cpp
  65. +1 −0 examples/cpp/overview-simple.cpp
  66. +1 −0 examples/cpp/solve_dense_qp.cpp
  67. +1 −0 examples/cpp/solve_dense_qp_with_setting.cpp
  68. +1 −0 examples/cpp/update_dense_qp.cpp
  69. +1 −0 examples/cpp/update_dense_qp_ws_previous_result.cpp
  70. +3 −2 examples/julia/CMakeLists.txt
  71. +3 −3 examples/python/CMakeLists.txt
  72. BIN examples/python/data/features.pt
  73. BIN examples/python/data/labels.pt
  74. +1 −26 examples/python/estimate_nonconvex_eigenvalue.py
  75. +1 −26 examples/python/init_dense_qp.py
  76. +1 −26 examples/python/init_dense_qp_with_box.py
  77. +1 −26 examples/python/init_dense_qp_with_other_options.py
  78. +1 −26 examples/python/init_dense_qp_with_timings.py
  79. +1 −26 examples/python/init_with_default_options.py
  80. +2 −27 examples/python/loading_sparse_qp.py
  81. +1 −26 examples/python/overview-simple.py
  82. +254 −0 examples/python/qplayer_sudoku.py
  83. +1 −26 examples/python/solve_dense_qp.py
  84. +1 −26 examples/python/solve_dense_qp_with_setting.py
  85. +12 −29 examples/python/solve_without_api.py
  86. +1 −26 examples/python/solve_without_api_and_option.py
  87. +1 −27 examples/python/update_dense_qp.py
  88. +1 −27 examples/python/update_dense_qp_ws_previous_result.py
  89. +3 −29 examples/python/update_sparse_qp.py
  90. +31 −0 examples/python/util.py
  91. +1 −0 include/proxsuite/fwd.hpp
  92. +8 −7 include/proxsuite/linalg/veg/internal/dyn_index.hpp
  93. +3 −4 include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp
  94. +9 −9 include/proxsuite/linalg/veg/internal/fix_index.hpp
  95. +10 −3 include/proxsuite/linalg/veg/internal/integer_seq.hpp
  96. +5 −12 include/proxsuite/linalg/veg/internal/macros.hpp
  97. +4 −4 include/proxsuite/linalg/veg/internal/prologue.hpp
  98. +2 −2 include/proxsuite/linalg/veg/memory/address.hpp
  99. +11 −11 include/proxsuite/linalg/veg/memory/dynamic_stack.hpp
  100. +11 −11 include/proxsuite/linalg/veg/slice.hpp
  101. +41 −34 include/proxsuite/linalg/veg/tuple.hpp
  102. +3 −7 include/proxsuite/linalg/veg/type_traits/constructible.hpp
  103. +2 −2 include/proxsuite/linalg/veg/util/get.hpp
  104. +7 −7 include/proxsuite/linalg/veg/vec.hpp
  105. +134 −0 include/proxsuite/proxqp/dense/backward_data.hpp
  106. +194 −0 include/proxsuite/proxqp/dense/compute_ECJ.hpp
  107. +3 −1 include/proxsuite/proxqp/dense/fwd.hpp
  108. +60 −44 include/proxsuite/proxqp/dense/helpers.hpp
  109. +9 −1 include/proxsuite/proxqp/dense/linesearch.hpp
  110. +4 −1 include/proxsuite/proxqp/dense/model.hpp
  111. +33 −3 include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp
  112. +31 −20 include/proxsuite/proxqp/dense/solver.hpp
  113. +2 −2 include/proxsuite/proxqp/dense/utils.hpp
  114. +3 −5 include/proxsuite/proxqp/dense/views.hpp
  115. +1 −0 include/proxsuite/proxqp/dense/wrapper.hpp
  116. +81 −2 include/proxsuite/proxqp/parallel/qp_solve.hpp
  117. +6 −1 include/proxsuite/proxqp/results.hpp
  118. +5 −5 include/proxsuite/proxqp/settings.hpp
  119. +12 −12 include/proxsuite/proxqp/sparse/solver.hpp
  120. +3 −3 include/proxsuite/proxqp/sparse/utils.hpp
  121. +9 −0 include/proxsuite/proxqp/sparse/wrapper.hpp
  122. +4 −0 include/proxsuite/serialization/results.hpp
  123. +32 −0 include/proxsuite/serialization/ruiz.hpp
  124. +2 −1 include/proxsuite/serialization/settings.hpp
  125. +89 −0 include/proxsuite/serialization/workspace.hpp
  126. +1 −1 include/proxsuite/serialization/wrapper.hpp
  127. +2 −2 package.xml
  128. +3 −2 pyproject.toml
  129. +26 −18 test/CMakeLists.txt
  130. +2 −3 test/doctest/doctest.hpp
  131. +1 −0 test/src/cvxpy.cpp
  132. +2 −2 test/src/cvxpy.py
  133. +222 −0 test/src/dense_backward.cpp
  134. +2 −0 test/src/dense_maros_meszaros.cpp
  135. +43 −2 test/src/dense_qp_eq.cpp
  136. +1 −0 test/src/dense_qp_solve.cpp
  137. +10 −7 test/src/dense_qp_solve.py
  138. +4 −1 test/src/dense_qp_with_eq_and_in.cpp
  139. +91 −8 test/src/dense_qp_wrapper.cpp
  140. +122 −43 test/src/dense_qp_wrapper.py
  141. +9 −4 test/src/dense_ruiz_equilibration.cpp
  142. +1 −0 test/src/dense_unconstrained_qp.cpp
  143. +12 −2 test/src/parallel_qp_solve.py
  144. +2 −1 test/src/serialization.cpp
  145. +6 −7 test/src/serialization.py
  146. +3 −0 test/src/sparse_maros_meszaros.cpp
  147. +2 −2 test/src/sparse_qp_solve.py
  148. +2 −2 test/src/sparse_qp_wrapper.py
  149. +2 −2 test/src/sparse_ruiz_equilibration.cpp
14 changes: 14 additions & 0 deletions .github/workflows/check-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Check-changelog
on:
pull_request:
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
branches:
- devel
jobs:
check-changelog:
name: Check changelog action
runs-on: ubuntu-latest
steps:
- uses: tarides/changelog-check-action@v2
with:
changelog: CHANGELOG.md
27 changes: 27 additions & 0 deletions .github/workflows/ci-arch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: CI - ArchLinux

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

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

jobs:
build-with-arch:
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@v4
with:
submodules: recursive

- run: cmake -B build -S . -DBUILD_PYTHON_INTERFACE=ON
- run: cmake --build build
- run: cmake --build build -t test
92 changes: 47 additions & 45 deletions .github/workflows/ci-linux-osx-win-conda.yml
Original file line number Diff line number Diff line change
@@ -3,6 +3,12 @@ name: CI - Linux/OSX/Windows - Conda
on:
push:
pull_request:
paths-ignore:
- CHANGELOG.md

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

jobs:
build-with-conda:
@@ -13,7 +19,7 @@ jobs:
fail-fast: false
matrix:
build_type: [Release, Debug]
name: [ubuntu-latest, macos-latest, windows-2019-clang-cl, windows-latest]
name: [ubuntu-latest, macos-latest, windows-2019-clang-cl, windows-latest, macos-14]
cxx_std: [17, 20]
continue_on_error: [false]

@@ -22,15 +28,16 @@ jobs:
os: ubuntu-latest
- name: macos-latest
os: macos-latest
- name: macos-14
os: macos-14
# proxsuite doesn't build with vs2019, so we use clang-cl instead
- name: windows-2019-clang-cl
os: windows-2019
compiler: clang-cl
# proxsuite should work with vs2022
- name: windows-latest
os: windows-latest
- name: macos-latest
os: macos-latest
build_type: Release
cxx_std: 14
compiler: cl
- name: macos-latest
os: macos-latest
build_type: Debug
@@ -53,33 +60,29 @@ jobs:
continue_on_error: false

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: conda-incubator/setup-miniconda@v2
- uses: conda-incubator/setup-miniconda@v3
with:
miniforge-variant: Mambaforge
miniforge-version: latest
channels: conda-forge
python-version: "3.10"
activate-environment: proxsuite
environment-file: .github/workflows/conda/environment.yml
auto-activate-base: false
auto-update-conda: true

- name: Install dependencies [Conda]
- name: Install dependencies [Conda/Windows-latest]
if: contains(matrix.os, 'windows-latest')
shell: bash -l {0}
run: |
# Workaround for https://github.com/conda-incubator/setup-miniconda/issues/186
conda config --remove channels defaults
# Compilation related dependencies
mamba install cmake compilers make pkg-config doxygen ninja graphviz
# Main dependencies
mamba install eigen simde
# Test dependencies
mamba install libmatio numpy scipy
- name: Install julia [macOS/Linux]
if: contains(matrix.os, 'macos') || contains(matrix.os, 'ubuntu')
# Use VS2022 on Windows-latest
conda install vs2022_win-64
- name: Install julia [Linux]
if: contains(matrix.os, 'ubuntu')
shell: bash -l {0}
run: |
mamba install julia
conda install julia
- name: Activate ccache [Conda]
uses: hendrikmuhs/ccache-action@v1.2
@@ -91,53 +94,52 @@ jobs:
shell: bash -l {0}
run: |
conda info
mamba list
conda list
env
- name: Configure [Conda/Linux&macOS]
if: contains(matrix.os, 'macos') || contains(matrix.os, 'ubuntu')
if: contains(matrix.os, 'macos-') || contains(matrix.os, 'ubuntu')
shell: bash -l {0}
run: |
echo $(whereis ccache)
echo $(which ccache)
git submodule update --init
mkdir build
cd build
cmake .. -GNinja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_STANDARD=${{ matrix.cxx_std }} -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_EXECUTABLE=$(which python3) -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON -DTEST_JULIA_INTERFACE:BOOL=ON -DOpenMP_ROOT=$CONDA_PREFIX
cmake .. -GNinja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_STANDARD=${{ matrix.cxx_std }} -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_EXECUTABLE=$(which python3) -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON -DTEST_JULIA_INTERFACE:BOOL=OFF -DOpenMP_ROOT=$CONDA_PREFIX
- name: Configure [Conda/macOS-debug/CheckMalloc]
if: contains(matrix.os, 'macos') && contains(matrix.build_type, 'Debug')
if: contains(matrix.os, 'macos-latest') && contains(matrix.build_type, 'Debug')
shell: bash -l {0}
run: |
echo $(whereis ccache)
echo $(which ccache)
cd build
cmake .. -GNinja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCHECK_RUNTIME_MALLOC:BOOL=ON -DCMAKE_CXX_STANDARD=${{ matrix.cxx_std }} -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_EXECUTABLE=$(which python3) -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON -DTEST_JULIA_INTERFACE:BOOL=ON -DBUILD_WITH_OPENMP_SUPPORT:BOOL=ON -DOpenMP_ROOT=$CONDA_PREFIX
cmake .. -GNinja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCHECK_RUNTIME_MALLOC:BOOL=ON -DCMAKE_CXX_STANDARD=${{ matrix.cxx_std }} -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_EXECUTABLE=$(which python3) -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON -DTEST_JULIA_INTERFACE:BOOL=OFF -DBUILD_WITH_OPENMP_SUPPORT:BOOL=ON -DOpenMP_ROOT=$CONDA_PREFIX
- name: Configure [Conda/Windows-2019]
if: contains(matrix.os, 'windows-2019')
shell: bash -l {0}
- name: Configure [Conda/Windows]
if: contains(matrix.os, 'windows-')
# It's better to use CMD to have all VS variables setup
shell: cmd /C CALL {0}
run: |
echo $(where ccache)
ls C:\\Miniconda3\\envs\\proxsuite\\Library\\lib
git submodule update --init
mkdir build
cd build
cmake .. -G"Visual Studio 16 2019" -T "ClangCl" -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX}/Library -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_SITELIB=${CONDA_PREFIX}/Lib/site-packages -DPYTHON_EXECUTABLE=${CONDA_PREFIX}/python.exe -DOpenMP_ROOT=$CONDA_PREFIX -DBUILD_WITH_OPENMP_SUPPORT:BOOL=ON -DLINK_PYTHON_INTERFACE_TO_OPENMP:BOOL=ON -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON
set CC=${{ matrix.compiler }}
set CXX=${{ matrix.compiler }}
cmake .. -GNinja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=%CONDA_PREFIX%/Library -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_STANDARD=${{ matrix.cxx_std }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_SITELIB=%CONDA_PREFIX%/Lib/site-packages -DPYTHON_EXECUTABLE=%CONDA_PREFIX%/python.exe -DOpenMP_ROOT=%CONDA_PREFIX% -DBUILD_WITH_OPENMP_SUPPORT:BOOL=ON -DLINK_PYTHON_INTERFACE_TO_OPENMP:BOOL=ON -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON
- name: Configure [Conda/Windows-latest]
if: contains(matrix.os, 'windows-latest')
- name: Build [Conda/Linux&macOS]
if: contains(matrix.os, 'macos-') || contains(matrix.os, 'ubuntu')
shell: bash -l {0}
run: |
echo $(where ccache)
ls C:\\Miniconda3\\envs\\proxsuite\\Library\\lib
git submodule update --init
mkdir build
cd build
cmake .. -G"Visual Studio 17 2022" -T "v143" -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX}/Library -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DBUILD_PYTHON_INTERFACE:BOOL=ON -DPYTHON_SITELIB=${CONDA_PREFIX}/Lib/site-packages -DPYTHON_EXECUTABLE=${CONDA_PREFIX}/python.exe -DOpenMP_ROOT=$CONDA_PREFIX -DBUILD_WITH_OPENMP_SUPPORT:BOOL=ON -DLINK_PYTHON_INTERFACE_TO_OPENMP:BOOL=ON -DBUILD_DOCUMENTATION:BOOL=ON -DINSTALL_DOCUMENTATION:BOOL=ON
cmake --build . --config ${{ matrix.build_type }} -v -j 1
- name: Build [Conda]
shell: bash -l {0}
- name: Build [Conda/Windows]
if: contains(matrix.os, 'windows-')
# It's better to use CMD to have all VS variables setup
shell: cmd /C CALL {0}
run: |
cd build
cmake --build . --config ${{ matrix.build_type }} -v -j 1
@@ -177,7 +179,7 @@ jobs:
run: |
cd test/packaging/cmake
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
cmake .. -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DPACKAGE_PREFIX_DIR=${CONDA_PREFIX}
cmake --build . --config ${{ matrix.build_type }} --target all
./run-proxqp
33 changes: 22 additions & 11 deletions .github/workflows/ci-linux-ros.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,49 @@
name: CI - Linux - ROS
on: [push, pull_request]
on:
push:
pull_request:
paths-ignore:
- CHANGELOG.md

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

jobs:
CI:
strategy:
matrix:
env:
# ROS1 Noetic. EOL: May 2025
- {name: "Noetic / Debug", ROS_DISTRO: noetic, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: OFF}
- {name: "Noetic / Release", ROS_DISTRO: noetic, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: OFF}
# ROS2 Jazzy Jalisco (May 2024 - May 2029)
- {name: "Jazzy / Debug", ROS_DISTRO: jazzy, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: OFF}
- {name: "Jazzy / Release", ROS_DISTRO: jazzy, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: OFF}
- {name: "Jazzy / Debug / Vectorization", ROS_DISTRO: jazzy, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: ON}
- {name: "Jazzy / Release / Vectorization", ROS_DISTRO: jazzy, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: ON}
# ROS2 Iron Irwini (May 2023 - November 2024)
- {name: "Iron / Debug", ROS_DISTRO: iron, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: OFF}
- {name: "Iron / Release", ROS_DISTRO: iron, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: OFF}
- {name: "Iron / Debug / Vectorization", ROS_DISTRO: iron, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: ON}
- {name: "Iron / Release / Vectorization", ROS_DISTRO: iron, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: ON}
# ROS2 Humble Hawksbill (May 2022 - May 2027)
- {name: "Humble / Debug / Vectorization", ROS_DISTRO: humble, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: ON}
- {name: "Humble / Release / Vectorization", ROS_DISTRO: humble, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: ON}
- {name: "Humble / Pre-Release", ROS_DISTRO: humble, PRERELEASE: true}
# - {name: "Humble / Pre-Release", ROS_DISTRO: humble, PRERELEASE: true}
# ROS2 Rolling Ridley
- {name: "Rolling / Debug / Vectorization", ROS_DISTRO: rolling, CMAKE_BUILD_TYPE: Debug, VECTORIZATION_SUPPORT: ON}
- {name: "Rolling / Release / Vectorization", ROS_DISTRO: rolling, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: ON}
- {name: "Rolling / Pre-Release", ROS_DISTRO: rolling, PRERELEASE: true}
- {name: "Rolling / TSID-Downstream", ROS_DISTRO: rolling, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: ON, DOWNSTREAM_WORKSPACE: "github:stack-of-tasks/tsid#devel github:stack-of-tasks/eiquadprog#devel", DOWNSTREAM_CMAKE_ARGS: -DBUILD_WITH_PROXQP=ON}
# - {name: "Rolling / Pre-Release", ROS_DISTRO: rolling, PRERELEASE: true}
# - {name: "Rolling / TSID-Downstream", ROS_DISTRO: rolling, CMAKE_BUILD_TYPE: Release, VECTORIZATION_SUPPORT: ON, DOWNSTREAM_WORKSPACE: "github:stack-of-tasks/tsid#devel github:stack-of-tasks/eiquadprog#devel", DOWNSTREAM_CMAKE_ARGS: -DBUILD_WITH_PROXQP=ON}
name: ${{ matrix.env.name }}
env:
#CCACHE_DIR: /github/home/.ccache # Enable ccache
CMAKE_ARGS: -DBUILD_WITH_VECTORIZATION_SUPPORT=${{ matrix.env.VECTORIZATION_SUPPORT }} # Simde is available since humble
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
# This step will fetch/store the directory used by ccache before/after the ci run
#- uses: actions/cache@v3
# with:
# path: ${{ env.CCACHE_DIR }}
# key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
# Run industrial_ci
- uses: 'ros-industrial/industrial_ci@master'
env: ${{ matrix.env }}
88 changes: 0 additions & 88 deletions .github/workflows/ci-osx-arm64-conda.yml

This file was deleted.

20 changes: 20 additions & 0 deletions .github/workflows/conda/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: proxsuite
channels:
- conda-forge
- nodefaults
dependencies:
- cmake
- compilers
- make
- pkg-config
- doxygen
- ninja
- graphviz
- typing_extensions
- llvm-openmp
- clang
- eigen
- simde
- libmatio
- numpy
- scipy
Loading