Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
dc1d091
cpp: remove unused macros in fwd.hpp
ahoarau Dec 11, 2025
c8c8d9b
cpp: add dependency headers wrt a compile def
ahoarau Dec 11, 2025
76d5a61
cpp: merge internal.h into module.cpp
ahoarau Dec 11, 2025
e360e31
python: migrate tests to pytest
ahoarau Dec 11, 2025
fd45315
gersemi: update config
ahoarau Dec 11, 2025
14b6c05
pixi.toml: we can use forward slash in windows
ahoarau Dec 11, 2025
61bc0e4
pixi.toml: add install and test commands
ahoarau Dec 11, 2025
135ca2d
pixi.toml: add explicit testing, and build type
ahoarau Dec 11, 2025
e278f93
git: remove submodules
ahoarau Dec 11, 2025
277d5c7
gitignore: ignore more stuff
ahoarau Dec 11, 2025
0c6b99c
cmake: refactor CMake files with JRL CMake Modules v2
ahoarau Dec 11, 2025
21430ed
cmake: intregrate get-jrl-cmakemodules.cmake
ahoarau Dec 12, 2025
6268062
cmake: format tests/CMakeLists.txt (remove gersemi off/on)
ahoarau Dec 16, 2025
31ed393
cmake: update jrl url to point to fork
ahoarau Dec 15, 2025
cbc8f7f
cmake: require jrl-cmakemodules version 2.0.0
ahoarau Dec 16, 2025
99fe212
cmake: rename test dir
ahoarau Jan 5, 2026
cb75b0a
cmake: require at least nanobind 2.5.0
ahoarau Dec 18, 2025
ef1e688
cmake: change message verbosity to STATUS and fix env case
ahoarau Dec 19, 2025
e37a345
cmake: add debug messages to explain what we do with nanobind
ahoarau Dec 18, 2025
d14bb52
ci: add debug and verbose output to ros ci
ahoarau Dec 16, 2025
bb58383
ci: use the commands defined in pixi.toml
ahoarau Dec 18, 2025
fe33646
pixi.toml: add pytest
ahoarau Dec 13, 2025
8068731
pixi.toml: remove extra cmake lines in configure task
ahoarau Dec 16, 2025
55fb044
pixi.toml: add test packaging
ahoarau Jan 5, 2026
14c73c6
pixi.toml: override python install dir on windows
ahoarau Dec 19, 2025
aae84fe
changelog: update with jrl v2
ahoarau Jan 5, 2026
52bd46a
ci: temporarly disable nix job
ahoarau Jan 5, 2026
ad33534
gitignore: ignore ruff cache
ahoarau Jan 5, 2026
2f60717
ci: disable nix job check
ahoarau Jan 5, 2026
607f2e8
cmake: add check for the quaternion test module
ahoarau Jan 5, 2026
52766c0
cmake: add inria copyright
ahoarau Jan 5, 2026
82d439e
cmake: remove cmake version range
ahoarau Jan 5, 2026
02c22f0
cmake: update nanobind GIT_TAG to v2.10.2
ahoarau Jan 6, 2026
37fdd95
ci: remove warning by passing the explicit arguments to env
ahoarau Jan 6, 2026
3eceea7
ci: remove explicit cache for pixi
ahoarau Jan 6, 2026
ac79e55
ci: cosmetics on pixi job
ahoarau Jan 6, 2026
c5687f7
ci: rosci enable cache and prerelease
ahoarau Jan 6, 2026
3b9992e
package.xml: nanobind-dev not yet available
ahoarau Jan 6, 2026
dfe5b71
ci: ros ci disable fail fast
ahoarau Jan 6, 2026
9e562d0
package.xml: add pytest dep
ahoarau Jan 6, 2026
d0deaaa
ci: name the ros jobs
ahoarau Jan 6, 2026
734a64a
rosci: configure cache
ahoarau Jan 8, 2026
b994ef8
ci: relax cache availability
ahoarau Jan 8, 2026
abd5191
cmale: update cmake option docs
ahoarau Jan 10, 2026
4dbb9fd
changelog: remove the c++17 required.
ahoarau Jan 10, 2026
b4ef17d
cmake: move dependencies to headers instead of module
ahoarau Jan 10, 2026
5989c93
cmake: add jrl_generate_ros2_package_files
ahoarau Jan 13, 2026
a8f2d84
cmake: update jrl_target_generate_header API
ahoarau Jan 17, 2026
e975f3b
ci: display more info before clearing ccache cache
ahoarau Jan 17, 2026
05f3e28
rosci: do not use prerelease
ahoarau Feb 9, 2026
a1c7c31
cmake: update the get-jrl messages
ahoarau Feb 11, 2026
1ab1bb8
cmake: require jrl >=1.2 to get the jrl-v2
ahoarau Feb 16, 2026
489bf81
cmake: update python and nanobind min required
ahoarau Feb 16, 2026
ea49746
pixi: remove the custom python install dir for pixi build
ahoarau Feb 17, 2026
65298a2
cmake: include project version in config header generation
ahoarau Feb 20, 2026
3760435
pixi.toml: re-enable pixi build
ahoarau Mar 18, 2026
7b33b58
pixi: update lock file
ahoarau Mar 18, 2026
d8ac8b7
cmake: format
ahoarau Mar 18, 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, ./tests]
line_length: 80
definitions: [./CMakeLists.txt, ./tests]
line_length: 100
indent: 2
warn_about_unknown_commands: false
73 changes: 36 additions & 37 deletions .github/workflows/macos-linux-windows-pixi.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: CI - MacOS/Linux/Windows via Pixi
name: CI - Pixi (MacOS/Linux/Windows)

on:
push:
Expand Down Expand Up @@ -30,12 +30,12 @@ concurrency:
cancel-in-progress: true

jobs:
nanoeigenpy-pixi:
name: Standard - ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }}
pixi:
name: Pixi - ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }}
runs-on: ${{ matrix.os }}
env:
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_BASEDIR: "${{ github.workspace }}"
CCACHE_DIR: "${{ github.workspace }}/.ccache"
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
# Since pixi will install a compiler, the compiler mtime will be changed.
Expand All @@ -55,75 +55,74 @@ jobs:

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

- uses: actions/cache@v5
with:
path: .ccache
key: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.environment }}-${{ github.sha }}
restore-keys: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.environment }}-
path: ${{ env.CCACHE_DIR }}
key: ccache-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ github.sha }}
restore-keys: ccache-pixi-${{ matrix.os }}-${{ matrix.build_type }}-

- uses: prefix-dev/setup-pixi@v0.9.4
with:
cache: true
environments: ${{ matrix.environment }}

- name: Clear ccache statistics [MacOS/Linux/Windows]
run: |
pixi run -e ${{ matrix.environment }} ccache -z
pixi run -e ${{ matrix.environment }} ccache -svz

- name: Build nanoeigenpy [MacOS/Linux/Windows]
- name: Configure nanoeigenpy [MacOS/Linux/Windows]
env:
NANOEIGENPY_BUILD_TYPE: ${{ matrix.build_type }}
run: |
pixi run -e ${{ matrix.environment }} configure

- name: Build nanoeigenpy [MacOS/Linux/Windows]
run: |
pixi run -e ${{ matrix.environment }} build

- name: Test nanoeigenpy [MacOS/Linux/Windows]
run: |
pixi run -e ${{ matrix.environment }} ctest --test-dir build --output-on-failure
pixi run -e ${{ matrix.environment }} test

- name: Install nanoeigenpy [MacOS/Linux/Windows]
run: |
pixi run -e ${{ matrix.environment }} cmake --build build --target install
pixi run -e ${{ matrix.environment }} install

- name: Show ccache statistics [MacOS/Linux/Windows]
run: |
pixi run -e ${{ matrix.environment }} ccache -sv

# nanoeigenpy-pixi-build:
# name: Pixi build - ${{ matrix.os }}
# runs-on: ${{ matrix.os }}
pixi-build:
name: Pixi build - ${{ matrix.os }}
runs-on: ${{ matrix.os }}

# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest]
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest]

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

# - uses: prefix-dev/setup-pixi@v0.9.4
# env:
# CMAKE_BUILD_PARALLEL_LEVEL: 2
# with:
# cache: true
# environments: test-pixi-build
- uses: prefix-dev/setup-pixi@v0.9.4
env:
CMAKE_BUILD_PARALLEL_LEVEL: 2
with:
environments: test-pixi-build

# - name: Test package [MacOS/Linux/Windows]
# run: |
# pixi run -e test-pixi-build test
- name: Test package [MacOS/Linux/Windows]
run: |
pixi run -e test-pixi-build test

check:
if: always()
name: check-macos-linux-windows-pixi

needs:
- nanoeigenpy-pixi
- pixi
- pixi-build

runs-on: Ubuntu-latest
runs-on: ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ on:

jobs:
nix:
# ⚠️ temporarly disable the Nix job for https://github.com/Simple-Robotics/nanoeigenpy/pull/40 ⚠️
if: false

runs-on: "${{ matrix.os }}-latest"
strategy:
matrix:
Expand All @@ -25,7 +28,10 @@ jobs:
- run: nix build -L ".#nanoeigenpy${{ matrix.eigen }}"

check:
if: always()
# ⚠️ temporarly disable the Nix job for https://github.com/Simple-Robotics/nanoeigenpy/pull/40 ⚠️
if: false
# if: always()

name: check-macos-linux-nix

needs:
Expand Down
44 changes: 30 additions & 14 deletions .github/workflows/ros_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,34 +20,50 @@ concurrency:
cancel-in-progress: true

jobs:
CI:
ros:
name: ROS ${{ matrix.ROS_DISTRO }} - ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
env:
- {ROS_DISTRO: humble}
- {ROS_DISTRO: jazzy}
- {ROS_DISTRO: kilted}
- {ROS_DISTRO: rolling}
include:
# ROS2 Humble Hawksbill (May 2022 - May 2027)
- ROS_DISTRO: humble
os: Ubuntu 22.04 (Jammy)

# ROS2 Jazzy Jalisco (May 2024 - May 2029)
- ROS_DISTRO: jazzy
os: Ubuntu 24.04 (Noble)

# ROS2 Kilted Kayu (May 2025 - December 2026)
- ROS_DISTRO: kilted
os: Ubuntu 24.04 (Noble)

# ROS2 Rolling Ridley
- ROS_DISTRO: rolling
os: Ubuntu 24.04 (Noble)
env:
# PRERELEASE: true # Fails due to issues in the underlying Docker image
BUILDER: colcon
VERBOSE_OUTPUT: true
VERBOSE_TESTS: true
ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
CCACHE_DIR: ${{ github.workspace }}/.ccache
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/cache@v4
with:
submodules: recursive
# Run industrial_ci
- uses: 'ros-industrial/industrial_ci@0f4bd2d1b926eac95fd6bc5bd1fcb3051a6e927d'
env: ${{ matrix.env }}
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.ROS_DISTRO }}-${{github.run_id}}
restore-keys: ccache-${{ matrix.ROS_DISTRO }}-
- uses: 'ros-industrial/industrial_ci@ba2a3d0f830f8051b356711a8df2fedfc5d256cf'

check:
if: always()
name: check-ros-ci

needs:
- CI
- ros

runs-on: Ubuntu-latest
runs-on: ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
Expand Down
18 changes: 13 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
build*/
install*/
.pytest_cache/
.cache/
__pycache__
.pytest_cache

# pixi environments
.pixi
.pixi/
__pycache__/
Xcode*
*.pyc
*~
*.egg-info
.ruff_cache/
.DS_Store
compile_commands.json
cmake-profiling.json
result
*.conda
6 changes: 0 additions & 6 deletions .gitmodules

This file was deleted.

3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Python version update ([#25](https://github.com/Simple-Robotics/nanoeigenpy/pull/25)):
- Project is now tested with Python 3.10 and 3.14
- Python 3.10 is the minimal supported Python version
- Switch to [JRL CMake modules v2](https://github.com/jrl-umi3218/jrl-cmakemodules/pull/798) ([#28](https://github.com/Simple-Robotics/nanoeigenpy/pull/28))
- Remove submodules: archives can now be used
- Migrate python tests to pytest

### Added
- Add pixi-build support ([#25](https://github.com/Simple-Robotics/nanoeigenpy/pull/25))
Expand Down
Loading
Loading