Consume shipdatamodel 0.3.0 and drop the data-model overlay#11
Conversation
The RecHit and per-detector hit headers Shannon needs now ship in the released shipdatamodel 0.3.0 (on prefix.dev/ship), so the .local-deps overlay that built data-model from pull/5/head is no longer required. - pin shipdatamodel >=0.3 and resolve it from the conda env - drop the fetch/configure/build/install-datamodel tasks, the .local-deps LD_LIBRARY_PATH activation, and the SHiPDataModel_DIR configure override - remove the DT_RUNPATH linker workaround, which existed only so the overlay could shadow the released shipdatamodel; default conda RPATH now points at the correct shipdatamodel in the env
📝 WalkthroughWalkthroughThe project now requires ChangesBuild environment
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pixi.toml`:
- Line 12: Update the shipdatamodel dependency constraint in the manifest to
match the package’s supported range, requiring at least 0.3.0 and excluding
0.4.0a0 and later releases.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 459b8b77-79ed-4115-a2b3-1d02bbdfa6a6
⛔ Files ignored due to path filters (1)
pixi.lockis excluded by!**/*.lock
📒 Files selected for processing (4)
.gitignoreCMakeLists.txtactivate.shpixi.toml
💤 Files with no reviewable changes (3)
- .gitignore
- CMakeLists.txt
- activate.sh
| [dependencies] | ||
| # SHiP/HEP packages (prefix.dev/ship + conda-forge) | ||
| shipdatamodel="*" | ||
| shipdatamodel = ">=0.3" |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== files =="
git ls-files | rg '(^|/)pixi\.(toml|lock)$|CMakeLists\.txt$|CMake' || true
echo "== pixi.toml =="
if [ -f pixi.toml ]; then cat -n pixi.toml; fi
echo "== relevant pixi.lock snippets =="
if [ -f pixi.lock ]; then
rg -n -C 4 'shipdatamodel|shipdatamodel-|ship-data|ShipDataModel|SHiPDataModel' pixi.lock || true
fi
echo "== CMake references =="
rg -n -C 4 'SHiPDataModel|shipdatamodel|find_package|CONDA_PREFIX|pixi run|conda activate' . --glob '!pixi.lock' --glob '!node_modules' --glob '!dist' --glob '!build' || trueRepository: ShipSoft/Shannon
Length of output: 13866
Keep the manifest constraint aligned with the resolved compatibility range.
pixi.toml accepts any future shipdatamodel >=0.3, but the package exports the narrower shipdatamodel >=0.3.0,<0.4.0a0 compatibility range. If 0.4 is not supported by this project, encode that upper bound in the manifest so lockfile re-solves cannot select an incompatible release.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@pixi.toml` at line 12, Update the shipdatamodel dependency constraint in the
manifest to match the package’s supported range, requiring at least 0.3.0 and
excluding 0.4.0a0 and later releases.
The RecHit and per-detector hit classes Shannon needs now ship in the released shipdatamodel 0.3.0 (published to
prefix.dev/ship), so the.local-depsoverlay that built data-model frompull/5/headis no longer needed.Changes
shipdatamodel >=0.3and resolve it straight from the conda env.fetch/configure/build/install-datamodelpixi tasks, the.local-depsLD_LIBRARY_PATHactivation (both inpixi.tomlandactivate.sh), and the-DSHiPDataModel_DIR=…/.local-deps/…configure override.--enable-new-dtags) linker workaround — it existed only so the overlay could shadow the released shipdatamodel; default conda RPATH now points at the correct shipdatamodel in the env. The unrelated--no-as-neededblock (DT_NEEDED for ROOT dictionary deps) is kept..gitignore: drop the now-dead.local-deps/entry.pixi.lock: re-solved;shipdatamodel0.1.0 → 0.3.0.Verification
Locally, with no sibling
../data-modelcheckout:pixi installresolvesshipdatamodel 0.3.0,pixi run buildcompiles all three plugins against the conda package, andpixi run smokepasses end to end ("Smoke test OK") — confirming the RecHit/detector types resolve at runtime without the overlay or the RUNPATH workaround.Summary by CodeRabbit
Enhancements
Bug Fixes
shipdatamodelversion requirement to 0.3 or newer.Chores