Skip to content

Commit c2eb4c1

Browse files
authored
Merge pull request #2802 from jorisv/topic/python-310
Update pixi.toml
2 parents f465599 + 559bd7e commit c2eb4c1

File tree

9 files changed

+10313
-6352
lines changed

9 files changed

+10313
-6352
lines changed

.github/workflows/macos-linux-windows-pixi.yml

Lines changed: 96 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ concurrency:
3131

3232
jobs:
3333
pinocchio-pixi:
34-
name: ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }} ${{ matrix.compiler }}
34+
name: Standard - ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }} ${{ matrix.compiler }}
3535
runs-on: ${{ matrix.os }}
3636
env:
3737
CCACHE_BASEDIR: ${GITHUB_WORKSPACE}
@@ -47,7 +47,7 @@ jobs:
4747
fail-fast: false
4848
matrix:
4949
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-15-intel]
50-
environment: [all, all-py39]
50+
environment: [all, all-python-oldest]
5151
build_type: [Release, Debug]
5252

5353
include:
@@ -93,7 +93,7 @@ jobs:
9393
key: ccache-macos-linux-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.environment }}_${{ github.sha }}
9494
restore-keys: ccache-macos-linux-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.environment }}_
9595

96-
- uses: prefix-dev/[email protected].2
96+
- uses: prefix-dev/[email protected].3
9797
with:
9898
cache: true
9999
environments: ${{ matrix.environment }}
@@ -115,15 +115,16 @@ jobs:
115115
await script({github, context, core})
116116
result-encoding: string
117117

118+
- name: Clear ccache statistics [MacOS/Linux/Windows]
119+
run: |
120+
pixi run -e ${{ matrix.environment }} ccache -z
121+
118122
- name: Build Pinocchio [MacOS/Linux/Windows]
119123
shell: bash -el {0}
120124
env:
121125
CMAKE_BUILD_PARALLEL_LEVEL: 2
122126
PINOCCHIO_BUILD_TYPE: ${{ matrix.build_type }}
123127
run: |
124-
# Clear ccache statistics
125-
pixi run -e ${{ matrix.environment }} ccache -z
126-
127128
# Launch configure but overwrite default options
128129
pixi run -e ${{ matrix.environment }} configure \
129130
-DBUILD_ADVANCED_TESTING=${{ env.BUILD_ADVANCED_TESTING }} \
@@ -137,12 +138,71 @@ jobs:
137138
run: |
138139
pixi run -e ${{ matrix.environment }} cmake --build build --target uninstall
139140
140-
- name: Remove build directory to save disk space
141-
if: contains(matrix.os, 'ubuntu') && contains(matrix.build_type, 'Debug')
141+
- name: Display ccache statistics
142+
shell: bash -el {0}
143+
run: |
144+
pixi run -e ${{ matrix.environment }} ccache -sv
145+
146+
pinocchio-python-standalone-pixi:
147+
name: Python standalone - ${{ matrix.os }} - Env ${{ matrix.environment }}
148+
runs-on: ${{ matrix.os }}
149+
env:
150+
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
151+
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
152+
CCACHE_COMPRESS: true
153+
CCACHE_COMPRESSLEVEL: 6
154+
# Since pixi will install a compiler, the compiler mtime will be changed.
155+
# This can invalidate the cache (https://ccache.dev/manual/latest.html#config_compiler_check)
156+
CCACHE_COMPILERCHECK: content
157+
158+
strategy:
159+
fail-fast: false
160+
matrix:
161+
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-15-intel, windows-latest]
162+
environment: [all]
163+
164+
steps:
165+
# extract branch name or checkout devel branch for scheduled events
166+
- name: Get branch name or checkout devel
167+
shell: bash -el {0}
168+
run: |
169+
if [ "${{ github.event_name }}" == "schedule" ]; then
170+
echo "BRANCH_NAME=devel" >> $GITHUB_ENV
171+
echo "LABELS=build_all" >> $GITHUB_ENV
172+
else
173+
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
174+
fi
175+
176+
- uses: actions/checkout@v5
177+
with:
178+
ref: ${{ env.BRANCH_NAME }}
179+
submodules: recursive
180+
181+
- uses: actions/cache@v4
182+
with:
183+
path: .ccache
184+
key: ccache-python-standalone-macos-linux-conda-${{ matrix.os }}-${{ matrix.environment }}_${{ github.sha }}
185+
restore-keys: ccache-python-standalone-macos-linux-conda-${{ matrix.os }}-${{ matrix.environment }}_
186+
187+
- uses: prefix-dev/[email protected]
188+
with:
189+
cache: true
190+
environments: ${{ matrix.environment }}
191+
192+
- name: Get Compilation Flags
193+
id: get_labels
194+
uses: actions/github-script@v8
195+
env:
196+
LABELS: ${{ env.LABELS }}
197+
with:
198+
script: |
199+
const script = require('./.github/workflows/scripts/get_compilation_flags.js');
200+
await script({github, context, core})
201+
result-encoding: string
202+
203+
- name: Clear ccache statistics [MacOS/Linux/Windows]
142204
run: |
143-
# Remove build directory to save disk space
144-
# This is only done on Ubuntu because this create some issues with clang and ccache on OSX
145-
rm -rf build
205+
pixi run -e ${{ matrix.environment }} ccache -z
146206
147207
# Following steps will modify the pixi environment
148208
- name: Build Pinocchio cpp [MacOS/Linux/Windows]
@@ -154,7 +214,6 @@ jobs:
154214
pixi run -e ${{ matrix.environment }} configure \
155215
-B build_cpp \
156216
-DBUILD_PYTHON_INTERFACE=OFF \
157-
-DBUILD_ADVANCED_TESTING=${{ env.BUILD_ADVANCED_TESTING }} \
158217
${{ steps.get_labels.outputs.cmakeFlags }}
159218
pixi run -e ${{ matrix.environment }} cmake --build build_cpp --target all
160219
pixi run -e ${{ matrix.environment }} cmake --install build_cpp
@@ -170,7 +229,6 @@ jobs:
170229
-DBUILD_PYTHON_INTERFACE=ON \
171230
-DBUILD_STANDALONE_PYTHON_INTERFACE=ON \
172231
-B build_python \
173-
-DBUILD_ADVANCED_TESTING=${{ env.BUILD_ADVANCED_TESTING }} \
174232
${{ steps.get_labels.outputs.cmakeFlags }}
175233
pixi run -e ${{ matrix.environment }} cmake --build build_python --target all
176234
pixi run -e ${{ matrix.environment }} cmake --install build_python
@@ -181,6 +239,31 @@ jobs:
181239
run: |
182240
pixi run -e ${{ matrix.environment }} ccache -sv
183241
242+
pinocchio-pixi-build:
243+
name: Pixi build - ${{ matrix.os }}
244+
runs-on: ${{ matrix.os }}
245+
246+
strategy:
247+
fail-fast: false
248+
matrix:
249+
os: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest]
250+
251+
steps:
252+
- uses: actions/checkout@v5
253+
with:
254+
submodules: recursive
255+
256+
- uses: prefix-dev/[email protected]
257+
env:
258+
CMAKE_BUILD_PARALLEL_LEVEL: 2
259+
with:
260+
cache: true
261+
environments: test-pixi-build
262+
263+
- name: Test package [MacOS/Linux/Windows]
264+
run: |
265+
pixi run -e test-pixi-build test
266+
184267
check:
185268
if: always()
186269
name: check-macos-linux-windows-pixi

CHANGELOG.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
1010

1111
## [Unreleased]
1212

13-
- Homogenize python viewers examples ([#2771](https://github.com/stack-of-tasks/pinocchio/pull/2771))
14-
- Add docker images ([#2776](https://github.com/stack-of-tasks/pinocchio/pull/2776))
13+
### Added
14+
- Add pixi-build support ([#2802](https://github.com/stack-of-tasks/pinocchio/pull/2802))
15+
- Python: add overload of `BaseVisualizer::play()` to `VisualizerPythonVisitor` ([#2796](https://github.com/stack-of-tasks/pinocchio/pull/2796))
1516
- ROS: added jrl_cmakemodules dependency ([#2789](https://github.com/stack-of-tasks/pinocchio/pull/2789))
16-
- Removed CMake < 3.22 details ([#2790](https://github.com/stack-of-tasks/pinocchio/pull/2790))
17-
- Python : add overload of `BaseVisualizer::play()` to `VisualizerPythonVisitor` ([#2796](https://github.com/stack-of-tasks/pinocchio/pull/2796))
17+
- Add docker images ([#2776](https://github.com/stack-of-tasks/pinocchio/pull/2776))
18+
- Add names to joints that are inside a composite joint ([#2786](https://github.com/stack-of-tasks/pinocchio/pull/2786))
19+
20+
### Changed
21+
- Python version update ([#2802](https://github.com/stack-of-tasks/pinocchio/pull/2802)):
22+
- Project is now tested with Python 3.10 and 3.14
23+
- Python 3.10 is the minimal supported Python version
24+
- Homogenize python viewers examples ([#2771](https://github.com/stack-of-tasks/pinocchio/pull/2771))
25+
26+
### Fixed
27+
- Remove pixi 0.57 warnings ([#2802](https://github.com/stack-of-tasks/pinocchio/pull/2802))
1828
- CMake: use `sdformat.cmake` from `jrl-cmakemodules` ([#2800](https://github.com/stack-of-tasks/pinocchio/pull/2800))
1929

20-
### Added
21-
- Add names to joints that are inside a composite joint ([#2786](https://github.com/stack-of-tasks/pinocchio/pull/2786))
30+
### Removed
31+
- Remove CMake < 3.22 details ([#2790](https://github.com/stack-of-tasks/pinocchio/pull/2790))
32+
2233

2334
## [3.8.0] - 2025-09-17
2435

development/release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
To create a release with Pixi run the following commands on the **devel** branch:
44

55
```bash
6-
PINOCCHIO_VERSION=X.Y.Z pixi run release_new_version
6+
PINOCCHIO_VERSION=X.Y.Z pixi run release-new-version
77
git push origin
88
git push origin vX.Y.Z
99
```

development/scripts/pixi/activation.bat

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,3 @@
1-
:: Setup ccache
2-
set CMAKE_CXX_COMPILER_LAUNCHER=ccache
3-
4-
:: Create compile_commands.json for language server
5-
set CMAKE_EXPORT_COMPILE_COMMANDS=1
6-
7-
:: Activate color output with Ninja
8-
set CMAKE_COLOR_DIAGNOSTICS=1
9-
10-
:: Help ccache manage generated files and PCH (https://ccache.dev/manual/latest.html#_precompiled_headers)
11-
set CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,pch_defines,time_macros
12-
131
# Set default build value only if not previously set
142
if not defined PINOCCHIO_BUILD_TYPE (set PINOCCHIO_BUILD_TYPE=Release)
153
if not defined PINOCCHIO_PYTHON_STUBS (set PINOCCHIO_PYTHON_STUBS=ON)

development/scripts/pixi/activation.sh

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,8 @@ then
2525
# (https://ccache.dev/manual/latest.html#config_compiler_type)
2626
export CCACHE_COMPILERTYPE=gcc
2727
fi
28-
29-
# Setup ccache
30-
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
31-
32-
# Create compile_commands.json for language server
33-
export CMAKE_EXPORT_COMPILE_COMMANDS=1
34-
35-
# Activate color output with Ninja
36-
export CMAKE_COLOR_DIAGNOSTICS=1
37-
38-
# Help ccache manage generated files and PCH (https://ccache.dev/manual/latest.html#_precompiled_headers)
39-
export CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,pch_defines,time_macros
28+
# Without -isystem, some LSP can't find headers
29+
export PINOCCHIO_CXX_FLAGS="$CXXFLAGS $PINOCCHIO_CXX_FLAGS -isystem $CONDA_PREFIX/include"
4030

4131
# Set default build value only if not previously set
4232
export PINOCCHIO_BUILD_TYPE=${PINOCCHIO_BUILD_TYPE:=Release}

development/scripts/pixi/activation_clang.sh

Lines changed: 0 additions & 8 deletions
This file was deleted.

development/scripts/pixi/activation_clang_cl.bat

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)