-
Notifications
You must be signed in to change notification settings - Fork 307
chore: Replace conda with pixi and lock #3503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3503 +/- ##
==========================================
+ Coverage 73.63% 73.64% +0.01%
==========================================
Files 60 60
Lines 4612 4618 +6
Branches 586 586
==========================================
+ Hits 3396 3401 +5
- Misses 1087 1088 +1
Partials 129 129 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
35c0e8e
to
f4cfe8c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Big fan of having a single tool handle dependency resolution / environment freezing - just a few questions:
- how would upgrading
pixi.lock
look when cutting a new release? - is the size difference of the test image just due to lack of metadata? https://circleci.com/api/v1.1/project/github/nipreps/fmriprep/14338/output/110/0?file=true&allocation-id=68bb5934b822b028391d9507-0-build%2FABCDEFGH
If you're going for a minimal update (e.g., nipreps fixes only): Update your dependencies in If you're looking to do general upgrades, use There's also a
|
@mgxd I cancelled the docker build on GHA after FreeSurfer took 2 hours. If you're good with this, we can merge and the next one will actually go into the cache and save us time in the future... |
Let's do it |
Not sure how we missed this in #3503, but we need to use a downloaded image to avoid reading stdin in fmriprep-docker.
25.2.0 (October 01, 2025) New feature release in the 25.2.x series. This release is an *fMRIPrep Long-Term Support (LTS)* release. The planned support window is 4 years, until October 2029. This release is an incremental improvement over 25.1.x, but includes some fixes and improvements that do not fit within our `bug-fix policy <https://www.nipreps.org/devs/releases/#bug-fix-releases>`__. Importantly, the change in interpolation in 25.1.0 introduced artifacts for some datasets. This release changes the default interpolation mode to ``grid-constant``, which resolves those problems while not reintroducing the issue the previous release sought to fix. This release also (finally) introduces per-session processing. The ``--session-label`` flag selects the sessions to process, and the ``--subject-anatomical-reference`` flag indicates whether and how to combine across sessions. Existing filters passed via ``--bids-filter-file`` may need to be updated or removed in favor of using these flags to achieve the desired behavior. We would like to thank the AMP-SCZ and ENIGMA consortia for testing out and providing feedback on this release. * FIX: Clean up output report language (#3529) * FIX: Default to grid-constant interpolation mode (#3516) * FIX: Adapt to transposed ndcoords in nitransforms (#3517) * FIX: Write out Freesurfer-derived outputs (#3512) * FIX: Add kwargs to _warnings.py (#3483) * ENH: Resample BOLD data to any surface template space using the Connectome Workbench (#3461) * ENH: Add boldref / sbref to source metadata (#3532) * ENH: Add dedicated session filtering, alternative anatomical template options (#3495) * ENH: Write out goodvoxels mask (#3513) * ENH: Add registration metadata to boldref-to-anat transforms (#3500) * ENH: Write out cortex mask GIFTIs (#3491) * ENH: Update transforms.py according to new transform chain of nitransforms (#3494) * RF/DOC: Improve and document command-line parser defaults (#3487) * DOC: Explain better SDC and B0FieldSource requirement (#2768) * DOC: Document `freesurfer` parameter in BOLD confound workflow init (#3504) * DOC: Add myself to contributor list (#3506) * DOC: Fix non-standard Input/Output docstring section management (#3505) * MNT: Split Dockerfile into base and pixi layers (#3521) * MNT: Replace conda with pixi and lock (#3503) * MNT: Update license metadata using SPDX expression (#3486) * MNT: no need to re-run `ruff check` after `ruff format` (#3480) * MNT: Update pre-commit ruff legacy alias (#3479)
This PR replaces the conda+pip locks with pixi, which allows us to have a single lockfile.
In passing, I also started installing AFNI tools from their Docker builds, moved the template fetch and MSM download into their own layers. Since this somehow caused me to re-fetch FreeSurfer, I went ahead and updated the base image.