You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pixi.toml and pixi.lock describe the development environment contributors are pointed at from CONTRIBUTING.md, but nothing in CI touches them. ci-cmake_tests.yml installs its dependencies with apt and mamba and calls cmake directly, so every CI check can be green while:
a task is broken or renamed,
the lock no longer solves for a platform,
the lock has drifted from the manifest (pixi lock --check would fail),
a dependency needed to configure has been dropped.
A contributor finds out instead of a check.
Suggestion
A small workflow on ubuntu-latest:
- run: pixi lock --check # manifest and lock agree
- run: pixi install
- run: pixi run test-cpp # configure, build test_main, run the C++ suite
pixi run test-cpp covers setup and configure through its dependency chain, so a broken task in the middle fails the job. pixi lock --check is nearly free and catches the drift case on its own — worth running even if the build half is judged too expensive for every PR.
Two details that would decide the shape:
detached-environments. cytnx exports its LAPACKE include directory as a PUBLIC usage requirement, so with Pixi's default in-checkout layout CMake refuses to generate (INTERFACE_INCLUDE_DIRECTORIES ... which is prefixed in the source directory). The job needs pixi config set --local detached-environments true, the same step CONTRIBUTING.md documents, until Fix exported CMake usage requirements and relocatable dependencies #1120 removes the need.
Which preset.pixi run test-cpp defaults to openblas-cpu, matching the PyPI wheel. pixi run gate covers both debug-* CPU presets but roughly triples the runtime.
Caching the Pixi environment between runs would keep the cost down; the lock file is a natural cache key.
Context
Raised while reworking the Pixi setup so the preset is a task argument and one environment serves every preset. Deliberately left out of that PR to keep the diff scoped to the development environment rather than CI.
Problem
pixi.tomlandpixi.lockdescribe the development environment contributors are pointed at fromCONTRIBUTING.md, but nothing in CI touches them.ci-cmake_tests.ymlinstalls its dependencies with apt and mamba and callscmakedirectly, so every CI check can be green while:pixi lock --checkwould fail),A contributor finds out instead of a check.
Suggestion
A small workflow on
ubuntu-latest:pixi run test-cppcoverssetupandconfigurethrough its dependency chain, so a broken task in the middle fails the job.pixi lock --checkis nearly free and catches the drift case on its own — worth running even if the build half is judged too expensive for every PR.Two details that would decide the shape:
detached-environments. cytnx exports its LAPACKE include directory as aPUBLICusage requirement, so with Pixi's default in-checkout layout CMake refuses to generate (INTERFACE_INCLUDE_DIRECTORIES ... which is prefixed in the source directory). The job needspixi config set --local detached-environments true, the same stepCONTRIBUTING.mddocuments, until Fix exported CMake usage requirements and relocatable dependencies #1120 removes the need.pixi run test-cppdefaults toopenblas-cpu, matching the PyPI wheel.pixi run gatecovers bothdebug-*CPU presets but roughly triples the runtime.Caching the Pixi environment between runs would keep the cost down; the lock file is a natural cache key.
Context
Raised while reworking the Pixi setup so the preset is a task argument and one environment serves every preset. Deliberately left out of that PR to keep the diff scoped to the development environment rather than CI.