-
Notifications
You must be signed in to change notification settings - Fork 294
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
MNT: Refactor Docker build process #2982
Conversation
c1240f4
to
be4d701
Compare
Test failures: nipreps/niworkflows#795. |
cf66485
to
cce051b
Compare
Looks like something is wrong with ds210's SDC
|
I guess we can try bumping caches... |
@mgxd I canceled ds005 just because it takes so long. Otherwise this is passing. Note the codecov removal is due to https://community.codecov.com/t/codecov-yanked-from-pypi-all-versions/4259, and has no additional impact since we haven't been using that package. |
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.
A few suggestions, but this is really nice!
One consideration (not needed for this PR) would be to create these build stages into their own dedicated repos in nipreps-containers, so other tools could easily grab what they need with a simple COPY --from=<nipreps/tool> ...
Closes #2441
@@ -0,0 +1,337 @@ | |||
# | |||
# This file is autogenerated by pip-compile with Python 3.10 |
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.
Is this handling the extras too? It should account for [telemetry,test]
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.
I'm okay adding telemetry, but the function of the tool does not depend on the versions of test dependencies, so I'd rather not set hard pins.
Co-authored-by: Mathias Goncalves <goncalves.mathias@gmail.com>
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.
should fix it, my bad!
23.1.0 (June 12, 2023) New feature release in the 23.1.x series. This release substantially reworks the resampling to fsLR grayordinate space, better accounting for partial volumes and high variance voxels. If you are resampling using ``--project-goodvoxels``, we strongly recommend upgrading. Fieldmap handling is improved, with better preference given to single-band references in both PEPolar and SyN-SDC schemes. Additionally, fMRIPrep will no longer estimate fieldmaps that are not intended to be used to correct BOLD series, reducing unneeded processing. This release removes ICA-AROMA from the fMRIPrep workflow. To use ICA-AROMA, set ``MNI152NLin6Asym:res-2`` as a target output space. MELODIC and ICA-AROMA can be run on the resulting images in a separate pipeline. For further information on the reasoning behind this change, see `GitHub issue #2936 <https://github.com/nipreps/fmriprep/issues/2936>`__. This release increments the versions of ANTs and FSL bundled in the Docker image. With thanks to Eilidh MacNicol, Basille Pinsard and Taylor Salo for contributions in fMRIPrep and SDCflows. * FIX: Raise RuntimeError at build if echos have mismatched shapes (#3028) * FIX: Inconsistent fmapless estimation when ignoring fieldmaps (#2994) * FIX: Dilate BOLD mask by 2 voxels to prevent over-aggressive masking degrading T2* map estimation (#2986) * FIX: Estimate free memory with "available", not "free" (#2985) * ENH: Add ``--me-t2s-fit-method`` parameter (#3030) * ENH: Resample BOLD to fsLR directly, dropping fsaverage intermediate (#3011) * ENH: Allow SBref+EPI PEPolar fieldmaps to correct BOLD series (#3008) * ENH: Remove ICA-AROMA from workflow and docs (#2966) * RF: Filter fieldmaps based on whether they will be used to correct a BOLD series (#3025) * MNT: Update ANTs pin in Docker image (#3016) * MNT: Update governance docs (#2992) * MNT: Refactor Docker build process (#2982) * MNT: Pin conda environment more strictly (#2853) * MNT: Require niworkflows ~1.3.6 (#2740) * CI: Use registry for layer caching (#3012) * CI: Upgrade docker orb (#2865)
Changes proposed in this pull request
env.yml
with the pinned conda environment, keeping this information outside of the Dockerfilepip-compile
to pin our dependency graph and install that after the conda environmentThis means that
env.yml
andrequirements.txt
need to be updated in lock-step if the dependency affectsenv.yml
. We can probably script this.Documentation that should be reviewed