Skip to content

Add pixi support and migrate CI from conda to pixi to fix CI#1028

Merged
traversaro merged 2 commits intomasterfrom
cimigratepixi
Mar 23, 2026
Merged

Add pixi support and migrate CI from conda to pixi to fix CI#1028
traversaro merged 2 commits intomasterfrom
cimigratepixi

Conversation

@traversaro
Copy link
Copy Markdown
Collaborator

The conda CI had a bunch of old workarounds that probably resulted in all the errors in #1021 . In this PR, the workarounds are removed and pixi support was added, and CI has been migrated from conda to pixi.

The pixi-based workflows has some advantages:

  • Reproducibility, as CI on PRs uses the lock file, while regression against dependency updates is tested in scheduled jobs (that delete the lock file)
  • Easy to reproduce locally, as you just need to clone the repo and run pixi run test
  • Speed up in the CI and in iterative local builds, thanks to ccache use and the use of the fast mold linker

@traversaro traversaro changed the title Add pixi support and migrate CI from conda to pixi Add pixi support and migrate CI from conda to pixi to fix CI Mar 23, 2026
@traversaro
Copy link
Copy Markdown
Collaborator Author

mold on macOS is failing with error:

2026-03-23T07:51:30.1213390Z -- Check for working C compiler: /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/arm64-apple-darwin20.0.0-clang
2026-03-23T07:51:31.6313830Z -- Check for working C compiler: /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/arm64-apple-darwin20.0.0-clang - broken
2026-03-23T07:51:31.6315070Z CMake Error at .pixi/envs/default/share/cmake-4.3/Modules/CMakeTestCCompiler.cmake:67 (message):
2026-03-23T07:51:31.6315600Z   The C compiler
2026-03-23T07:51:31.6315950Z 
2026-03-23T07:51:31.6316480Z     "/Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/arm64-apple-darwin20.0.0-clang"
2026-03-23T07:51:31.6317210Z 
2026-03-23T07:51:31.6317390Z   is not able to compile a simple test program.
2026-03-23T07:51:31.6318120Z 
2026-03-23T07:51:31.6318460Z   It fails with the following output:
2026-03-23T07:51:31.6319440Z 
2026-03-23T07:51:31.6320000Z     Change Dir: '/Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.build/CMakeFiles/CMakeScratch/TryCompile-xft0tF'
2026-03-23T07:51:31.6320620Z     
2026-03-23T07:51:31.6321280Z     Run Build Command(s): /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/ninja -v cmTC_920b7
2026-03-23T07:51:31.6324700Z     [1/2] ccache /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/arm64-apple-darwin20.0.0-clang   -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/include  -arch arm64 -isysroot /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -MD -MT CMakeFiles/cmTC_920b7.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_920b7.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_920b7.dir/testCCompiler.c.o -c /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.build/CMakeFiles/CMakeScratch/TryCompile-xft0tF/testCCompiler.c
2026-03-23T07:51:31.6329100Z     [2/2] : && /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/arm64-apple-darwin20.0.0-clang -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/include  -arch arm64 -isysroot /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,/Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/lib -L/Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/lib  -fuse-ld=mold CMakeFiles/cmTC_920b7.dir/testCCompiler.c.o -o cmTC_920b7   && :
2026-03-23T07:51:31.6331640Z     FAILED: [code=1] cmTC_920b7 
2026-03-23T07:51:31.6334690Z     : && /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/bin/arm64-apple-darwin20.0.0-clang -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem /Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/include  -arch arm64 -isysroot /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,/Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/lib -L/Users/runner/work/bipedal-locomotion-framework/bipedal-locomotion-framework/.pixi/envs/default/lib  -fuse-ld=mold CMakeFiles/cmTC_920b7.dir/testCCompiler.c.o -o cmTC_920b7   && :
2026-03-23T07:51:31.6337990Z     arm64-apple-darwin20.0: error: invalid linker name in argument '-fuse-ld=mold'
2026-03-23T07:51:31.6338400Z     ninja: build stopped: subcommand failed.

so even if mold package is available for mac, I guess it is not actually supported. I guess probably mold is available as a binary in mac, but does not support Mach-O format, so it does not make sense to try to use, let me disable it in macos.

Comment thread .github/workflows/update-pixi-lockfile.yml Outdated
@traversaro
Copy link
Copy Markdown
Collaborator Author

Somehow (as discussed in #992) the Windows test are still failing. As this is unrelated to this PR, I will skip again Python tests on Windows.

@traversaro
Copy link
Copy Markdown
Collaborator Author

@GiulioRomualdi the PR is ready for review, the only remaining failure is #1029 (that I would strongly suggest to just drop).

Comment thread .github/workflows/update-pixi-lockfile.yml Outdated
@GiulioRomualdi
Copy link
Copy Markdown
Collaborator

Thank you @traversaro! We can merge it

@traversaro traversaro merged commit a0d175c into master Mar 23, 2026
8 of 9 checks passed
@traversaro
Copy link
Copy Markdown
Collaborator Author

Thank you @traversaro! We can merge it

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants