Skip to content
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

⬆️ Upgrade dependencies for 1.8.6 #1916

Merged
merged 159 commits into from
Jun 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
fdae016
:memo: Document Python and package versions
shnizzedy Dec 15, 2022
28acec6
:children_crossing: Add versioning report to CLI `version` command
shnizzedy Dec 15, 2022
c9d4a6b
:arrow_up: Upgrade Python to 3.11; remove miniconda dependency
shnizzedy Dec 15, 2022
fa36e9d
:page_facing_up: Update license disclosure
shnizzedy Dec 15, 2022
d04ef62
:arrow_up: Upgrade ldd/glibc for Python 3.11
shnizzedy Dec 15, 2022
dd45308
:arrow_up: Upgrade Python 3.7.13 → 3.10.6
shnizzedy Feb 15, 2023
dcab725
:alien: Upgrade GPG signing for Neurodebian sources
shnizzedy Mar 1, 2023
c9bc551
:arrow-up: Upgrade AFNI 21.1.00 'Domitian' → 23.0.07 'Commodus'
shnizzedy Mar 13, 2023
6a96cd8
:bookmark: Update version to 1.8.6.dev (:arrow_up: Upgrade Python 3.7…
ChildMindInstituteCNL Feb 15, 2023
31b1b4f
:loud_sound: Log "$GITHUB_OUTPUT"
shnizzedy Mar 13, 2023
b738538
:construction_worker: Add missing environment variable for check
shnizzedy Mar 13, 2023
44e4ae0
:construction_worker: Add missing `id`s
shnizzedy Mar 13, 2023
66b3738
:construction_worker: Add missing condition
shnizzedy Mar 13, 2023
e34352e
:rewind: Revert changes to Ubunutu Dockerfiles
shnizzedy Mar 14, 2023
291fb2d
:construction_worker: Clear up space for Ubuntu build stage
shnizzedy Mar 14, 2023
241cde2
:alien: Use `buildx imagetools` instead of `manifest`
shnizzedy Mar 14, 2023
5c1e6e6
:twisted_rightwards_arrows: Merge main into upgrade/python
shnizzedy Mar 15, 2023
c4109cc
fixup! :arrow-up: Upgrade AFNI 21.1.00 'Domitian' → 23.0.07 'Commodus'
shnizzedy Mar 15, 2023
f34da2d
fixup! :twisted_rightwards_arrows: Merge main into upgrade/python
shnizzedy Mar 16, 2023
a896dd7
:bookmark: Update version to 1.8.6.dev (fixup! :twisted_rightwards_ar…
ChildMindInstituteCNL Mar 16, 2023
f8a8d51
:alien: Remove deprecated keyword 'warn' from `matplotlib.use` call
shnizzedy Mar 16, 2023
6ae9587
:arrow_up: Upgrade PyPEER 1.0@`main` → 1.1@`6965d2b`
shnizzedy Mar 16, 2023
7e753d8
:arrow_up: Upgrade connectome_workbench @ 1.5.0
shnizzedy Mar 20, 2023
ca23c4b
Merge \`document-gh-actions\` into \`upgrade/python\`
shnizzedy Mar 20, 2023
5f24aec
:heavy_minus_sign: Remove wxpython dependency
shnizzedy Mar 20, 2023
4ada7c2
:construction_worker: Add "[rebuild ${stage}]" functionality
shnizzedy Mar 21, 2023
31bcafd
:construction_worker: Fail build if any stages fail
shnizzedy Mar 21, 2023
f221b0b
:log: Include SHA and base ref in build stages run name
shnizzedy Mar 22, 2023
8682556
:construction_worker: :arrow_up: Upgrade `actions/checkout`@v3 ← v2
shnizzedy Mar 22, 2023
bf70869
:construction_worker: Put commit message & SHA in build stages run name
shnizzedy Mar 22, 2023
521c049
:construction_worker: Always check tag
shnizzedy Mar 22, 2023
9ed8fd6
:construction_worker: Pass event commit through to build-stages workflow
shnizzedy Mar 22, 2023
d5c6df9
:construction_worker: Make run-name a URL
shnizzedy Mar 22, 2023
0c43ec2
:arrow_up: Upgrade FSL 6.0.6 ← 5.0.10
shnizzedy Mar 22, 2023
5545cb7
:rotating_light: Lint CHANGELOG
shnizzedy Mar 22, 2023
248fdb0
:alien: Replace `Sibz/github-status-action@v1.1.6` with `gdonati78/gi…
shnizzedy Mar 22, 2023
251b83d
fixup! :arrow_up: Upgrade FSL 6.0.6 ← 5.0.10
shnizzedy Mar 23, 2023
22dcb38
:construction_worker: Add parens in workflow conditionals
shnizzedy Mar 23, 2023
22c61ec
:construction_worker: `workflow_dispatch` → `workflow_call`
shnizzedy Mar 23, 2023
f7193bf
:construction_worker: Add missing `not_yet_exists` condition
shnizzedy Mar 23, 2023
3fc1e02
:construction_worker: :memo: Update flow
shnizzedy Mar 23, 2023
5cd356f
:construction_worker: Drop custom check
shnizzedy Mar 23, 2023
3c8080d
:alembic: Debug
shnizzedy Mar 23, 2023
2ca7ad7
:construction_worker: Always set `$BASE_REFS` as an array
shnizzedy Mar 23, 2023
5d9cc31
:construction_worker: Remove `fromJson` call
shnizzedy Mar 23, 2023
ca80520
:pencil2: GITHUB_OUTPUT~~S~~
shnizzedy Mar 23, 2023
062e64c
:pencil2: Replace "s
shnizzedy Mar 23, 2023
a515f5c
:rewind: Revert 5d9cc317
shnizzedy Mar 23, 2023
7839890
:construction_worker: Make `base_refs` a stringified JSON Array
shnizzedy Mar 23, 2023
24d499f
:construction_worker: Name workflow jobs
shnizzedy Mar 23, 2023
65a03a6
:construction_worker: Replace explicit input with inherited input
shnizzedy Mar 23, 2023
7a9905c
:construction_worker: Run `build_and_test` on `build_stages` completion
shnizzedy Mar 23, 2023
c7fa153
:construction_worker: workflow_run → workflow_call
shnizzedy Mar 27, 2023
5c3ccc9
:package: [rebuild FSL.5.0.9-5.neurodebian-xenial]
shnizzedy Mar 27, 2023
118e1ee
👷📦♻️ Refactor installing C-PAC resources into FSL
shnizzedy Mar 27, 2023
cdae4d6
:loud_sound: Echo base_refs output
shnizzedy Mar 27, 2023
6071e24
:construction_worker: Use `jq` to set `$base_refs`
shnizzedy Mar 27, 2023
dd9d80b
:construction_worker: `mkdir -p` necessary directories
shnizzedy Mar 27, 2023
7d602b1
:package: Rebuild FSL
shnizzedy Mar 27, 2023
41377fa
:construction_worker: :recycle: Refactor to reduce number of calls
shnizzedy Mar 28, 2023
ea282af
:construction_worker: :loud_sound: Log phases
shnizzedy Mar 28, 2023
4395a48
:construction_worker: Connect rebuild outputs
shnizzedy Mar 28, 2023
33a1bba
:construction_worker: Allow base rebuild with or without 'base-' prefix
shnizzedy Mar 28, 2023
ca1cca1
:construction_worker: Inspect all necessary stages
shnizzedy Mar 28, 2023
a62da40
:construction_worker: Inherit secrets
shnizzedy Mar 28, 2023
a7911c1
:alien: Update command names (_ → -) for click upgrade
shnizzedy Mar 29, 2023
670da67
:alien: Change deprecated `get_data` to `get_fdata`
shnizzedy Mar 29, 2023
e5eb7d5
:alien: Remove lambda call for now-already-decoded-string
shnizzedy Mar 29, 2023
eac4406
:alien: Replace deprecated `np.int` with `int`
shnizzedy Mar 29, 2023
9873fbd
:white_check_mark: Add z_score to test for `create_cwas`
shnizzedy Mar 29, 2023
337c9e1
:package: Remove duplicate env setting
shnizzedy Mar 29, 2023
6a439a1
:arrow_up: Upgrade ANTs 2.3.3 → 2.4.3
shnizzedy Mar 29, 2023
deefab7
:alien: Replace deprecated `get_header` method with `header` attribute
shnizzedy Mar 29, 2023
674dec3
:package: Build ANTs as root
shnizzedy Mar 29, 2023
45aed34
:alien: Replace deprecated `get_affine` method with `affine` attribute
shnizzedy Mar 29, 2023
b4f007f
:memo: Add ANTs upgrade to CHANGELOG
shnizzedy Mar 29, 2023
7bd4afa
:bug: Handle no z-score case for FCP-INDI/C-PAC#1787
shnizzedy Mar 29, 2023
a23c491
:white_check_mark: Make click tests backwards compatible
shnizzedy Mar 29, 2023
736ebcc
:construction_worker: :construction: Test lite build before upgrading…
shnizzedy Mar 29, 2023
a6c1263
:construction_worker: Maximize build space iff we're going to build
shnizzedy Mar 29, 2023
d6cf562
:construction_worker: :arrow_up: Upgrade `docker/build-push-action`
shnizzedy Mar 30, 2023
815a38b
:construction_worker: :alembic: :loud_sound: :recycle:
shnizzedy Mar 30, 2023
064c924
:construction_worker: Resequence build prep
shnizzedy Mar 30, 2023
b67da6d
:construction_worker: Move into $GITHUB_WORKSPACE
shnizzedy Mar 30, 2023
daf0a31
:construction_worker: Maximize space first
shnizzedy Mar 30, 2023
a71f9d9
:rewind: Revert 37c06c15
shnizzedy Mar 30, 2023
a689b8e
:construction_worker: Build standard from lite
shnizzedy Mar 30, 2023
a726109
:construction_worker: :alembic: Try to build bases without caches
shnizzedy Mar 30, 2023
f58f849
:package: Build FSL from scratch
shnizzedy Mar 30, 2023
9873bc5
:construction_worker: Rebuild FSL & bases
shnizzedy Mar 30, 2023
8c52a63
:construction_worker: Rebuild standard
shnizzedy Mar 30, 2023
52ed96c
:white_check_mark: Handle semver without patch
shnizzedy Mar 30, 2023
11d6ed0
:construction_worker: :construction: Try FreeSurfer upgrade
shnizzedy Mar 30, 2023
fa94fc4
:package: Fix FSL environment variables
shnizzedy Mar 30, 2023
7f25d81
:package:
shnizzedy Mar 31, 2023
aaecae5
:construction_worker: Shift bottleneck
shnizzedy Mar 31, 2023
eee4c18
:construction_worker: Use `workflow_call` to call smoke tests
shnizzedy Mar 31, 2023
118046e
:construction_worker: Plumb in [rebuild standard]
shnizzedy Mar 31, 2023
a8f45e3
:construction_worker: Specify use this ref's version of local workflows
shnizzedy Mar 31, 2023
a111d0c
:rewind: Revert a8f45e3e
shnizzedy Mar 31, 2023
a9fb576
fixup! :construction_worker: Use `workflow_call` to call smoke tests
shnizzedy Mar 31, 2023
1d71ba8
fixup! :construction_worker: Plumb in [rebuild standard]
shnizzedy Mar 31, 2023
19a0ef3
:package: MSM already in lite
shnizzedy Mar 31, 2023
70f5574
:construction_worker: Rebuild FreeSurfer
shnizzedy Mar 31, 2023
e9ae79a
:construction_worker: [rebuild standard]
shnizzedy Apr 2, 2023
f0f4b66
:arrow_down: Revert FreeSurfer
shnizzedy Apr 4, 2023
aacbf86
:construction_worker: [rebuild standard]
shnizzedy Apr 4, 2023
ac3299e
:construction_worker: [rebuild FSL.5.0.10-bionic]
shnizzedy Apr 4, 2023
601e0db
:arrow_up: Upgrade ICA-AROMA 0.4.3-beta → 0.4.4-beta
shnizzedy Apr 4, 2023
32fcadd
:pushpin: Pin upgraded Python requirements
shnizzedy Apr 7, 2023
4490a9f
:pushpin: Unpin in `info.py`
shnizzedy Apr 7, 2023
5e97404
:twisted_rightwards_arrows: Merge develop-1.8.6 into upgrade/python
shnizzedy Apr 10, 2023
27b9220
:twisted_rightwards_arrows: Restore develop-1.8.6 changes
shnizzedy Apr 10, 2023
7e1dc5a
:lock: Add md5sum checks for 1.8.6 installation steps
shnizzedy Apr 10, 2023
593781a
:bulb: Add source URL to preamble comments
shnizzedy Apr 10, 2023
94edb57
:truck: Move README to not override root README on GH
shnizzedy Apr 11, 2023
07727fd
:package: Set C3D path
shnizzedy Apr 11, 2023
79ee970
:pushpin: Update Nipype version check
shnizzedy Apr 12, 2023
d951119
:arrow_up: Upgrade networkx to 3.1
shnizzedy Apr 12, 2023
a380ded
:recycle: Update Nipype version check and automate future updates of …
shnizzedy Apr 12, 2023
8897877
:construction_worker: [rebuild Ubuntu.Python3.10-bionic-non-free]
shnizzedy Apr 12, 2023
cf7cbe1
:arrow_up: Upgrade networkx to 3.1
shnizzedy Apr 12, 2023
4b8c780
:lock: Replace md5 with sha384 for Dockerfile checksums
shnizzedy Apr 13, 2023
4434741
:construction_worker: :bug: Fix rebuild-phase-three logic
shnizzedy Apr 13, 2023
c9528ac
:arrow_up: Upgrade nipype to 1.8.6
shnizzedy Apr 13, 2023
9a7e028
🔒️ Add `sha384sum` checks for 1.8.6 installation steps (#1922)
shnizzedy Apr 14, 2023
79e1be3
:heavy_plus_sign: Install `dc` for FSL6
shnizzedy Apr 14, 2023
6efb38d
:lock: Make in-container root directory writable by all
shnizzedy Apr 14, 2023
76ecf6c
:alien: Change `cbar_mode="None"` to `cbar_mode=None` for matplotlib …
shnizzedy Apr 14, 2023
dbd6990
:rotating_light: Check equality, not identity
shnizzedy Apr 14, 2023
fd8086d
:alien: PEP440
shnizzedy Apr 17, 2023
248d409
:bookmark: Update version to 1.8.6.dev1 (:alien: PEP440)
ChildMindInstituteCNL Apr 17, 2023
cc90131
:package: [rebuild Ubuntu.bionic-non-free]
shnizzedy Apr 17, 2023
459a878
:package: Update variant bases
shnizzedy Apr 17, 2023
d179ef9
:white_check_mark: Handle different versions of importlib
shnizzedy Apr 18, 2023
6f747ce
:construction_worker: [rebuild ABCD-HCP]
shnizzedy Apr 21, 2023
6cee7c5
:construction_worker: Upgrade Circle executor
shnizzedy Apr 24, 2023
668ab59
:construction_worker: Don't reinstall Python if it already exists on …
shnizzedy Apr 24, 2023
eef4e73
:arrow_up: Bump requests from 2.21.0 to 2.31.0
dependabot[bot] May 22, 2023
edd433f
Merge branch 'develop' into upgrade/python
nx10 Jun 5, 2023
ef75014
Switch CircleCI to apptainer/singularity and upgrd
nx10 Jun 5, 2023
a3da6ad
CircleCI switch to singularity orb
nx10 Jun 6, 2023
adbd563
Empty Commit
nx10 Jun 6, 2023
744abac
Revert "CircleCI switch to singularity orb"
nx10 Jun 6, 2023
6c28b22
CircleCI singularity
nx10 Jun 6, 2023
8714f10
Copy cpac resources to FSL atlases directory
nx10 Jun 6, 2023
27b350b
Fix FSL atlas paths
nx10 Jun 6, 2023
faeb2c8
FSL atlas dir permissions
nx10 Jun 6, 2023
c5d4ec7
Merge branch 'upgrade/python' into dependabot/pip/requests-2.31.0
shnizzedy Jun 15, 2023
a0b2215
:package: Rebuild FSL staging images
shnizzedy Jun 15, 2023
a4677fe
:pencil2: Fix typo
shnizzedy Jun 15, 2023
a635d88
:package: Make symlinks real in FSL 5.0.9-5 installation
shnizzedy Jun 15, 2023
78e749d
fixup! :construction_worker: Inherit secrets
shnizzedy Jun 16, 2023
de0b163
fixup! fixup! :construction_worker: Inherit secrets
shnizzedy Jun 16, 2023
ac2c445
:package: Rebuild base images
shnizzedy Jun 16, 2023
e48a25d
:package: Dedupe realized symlinks
shnizzedy Jun 16, 2023
c7ce58a
:construction_worker: Disable Circle Singularity tests
shnizzedy Jun 16, 2023
cb986d7
⬆️ Bump requests from 2.21.0 to 2.31.0 (#1939)
shnizzedy Jun 16, 2023
ade61a3
:white_check_mark: Check for `HarvardOxford-lateral-ventricles-thr25-…
shnizzedy Jun 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 44 additions & 29 deletions .circleci/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
version: 2.1
# Singularity started failing to set up on Circle circa May 2023, so those tests are currently disabled

parameters:
branch:
Expand Down Expand Up @@ -73,7 +74,7 @@ commands:
version:
description: "Version of Singularity to clone"
type: string
default: v3.7.2
default: v3.8.7
steps:
- install-singularity-requirements
- restore_cache:
Expand All @@ -84,7 +85,7 @@ commands:
command: |
if [[ ! -d singularity-<< parameters.version >> ]]
then
git clone -b << parameters.version >> https://github.com/sylabs/singularity singularity-<< parameters.version >>
git clone -b << parameters.version >> https://github.com/apptainer/singularity singularity-<< parameters.version >>
fi
- save_cache:
key: singularity-<< parameters.version >>
Expand All @@ -94,16 +95,29 @@ commands:
name: "Setting up Singularity"
command: |
cd singularity-<< parameters.version >>
./mconfig
./mconfig -p /usr/local
make -C builddir
sudo make -C builddir install
cd ..
install-singularity-requirements:
steps:
- run:
name: "Installing Singularity requirements"
# https://github.com/apptainer/apptainer/blob/release-1.1/INSTALL.md
command: |
sudo apt-get update && sudo apt-get install flawfinder squashfs-tools uuid-dev libuuid1 libffi-dev libssl-dev libssl1.1 libarchive-dev libgpgme11-dev libseccomp-dev -y
sudo apt-get update -y && \
sudo apt-get install -y \
build-essential \
libseccomp-dev \
pkg-config \
uidmap \
squashfs-tools \
squashfuse \
fuse2fs \
fuse-overlayfs \
fakeroot \
cryptsetup \
curl wget git
run-pytest-docker:
steps:
- create-docker-test-container:
Expand All @@ -115,17 +129,18 @@ commands:
steps:
- restore_cache:
keys:
- pip-ci-requirements-{{ checksum "dev/circleci_data/requirements.txt" }}-3.8.5
- pip-ci-requirements-{{ checksum "dev/circleci_data/requirements.txt" }}-3.10.10
- run:
name: "Installing CI dependencies"
command: |
pyenv global 3.8.5
yes n | pyenv install 3.10.10 || true
pyenv global 3.10.10
pip install --upgrade pip
pip install -r dev/circleci_data/requirements.txt
- save_cache:
key: pip-ci-requirements-{{ checksum "dev/circleci_data/requirements.txt" }}-3.8.5
key: pip-ci-requirements-{{ checksum "dev/circleci_data/requirements.txt" }}-3.10.10
paths:
- /opt/circleci/.pyenv/versions/3.8.5
- /opt/circleci/.pyenv/versions/3.10.10
set-up-variant:
parameters:
variant:
Expand Down Expand Up @@ -162,21 +177,21 @@ commands:
jobs:
combine-coverage:
machine:
image: ubuntu-2004:202010-01
image: ubuntu-2004:2023.04.2
steps:
- checkout
- restore_cache:
key: coverage-docker--{{ .Revision }}
- restore_cache:
key: coverage-singularity--{{ .Revision }}
# - restore_cache:
# key: coverage-singularity--{{ .Revision }}
- restore_cache:
key: coverage-docker-ABCD-HCP-{{ .Revision }}
- restore_cache:
key: coverage-singularity-ABCD-HCP-{{ .Revision }}
# - restore_cache:
# key: coverage-singularity-ABCD-HCP-{{ .Revision }}
- restore_cache:
key: coverage-docker-lite-{{ .Revision }}
- restore_cache:
key: coverage-singularity-lite-{{ .Revision }}
# - restore_cache:
# key: coverage-singularity-lite-{{ .Revision }}
- set-python-version
- combine-coverage
- store_artifacts:
Expand All @@ -187,7 +202,7 @@ jobs:
type: string
default: ""
machine:
image: ubuntu-2004:202010-01
image: ubuntu-2004:2023.04.2
resource_class: medium
steps:
- checkout
Expand All @@ -209,7 +224,7 @@ jobs:
type: string
default: ""
machine:
image: ubuntu-2004:202010-01
image: ubuntu-2004:2023.04.2
resource_class: large
steps:
- checkout
Expand All @@ -231,7 +246,7 @@ jobs:
type: string
default: ""
machine:
image: ubuntu-2004:202010-01
image: ubuntu-2004:2023.04.2
resource_class: large
steps:
- checkout
Expand Down Expand Up @@ -262,11 +277,11 @@ workflows:
name: "Combine coverage"
requires:
- "Test in Docker"
- "Test in Singularity"
# - "Test in Singularity"
- "Test lite variant in Docker"
- "Test lite variant in Singularity"
# - "Test lite variant in Singularity"
- "Test ABCD-HCP variant in Docker"
- "Test ABCD-HCP variant in Singularity"
# - "Test ABCD-HCP variant in Singularity"
- "Test fMRIPrep-LTS variant in Docker"
- push-branch-to-docker-hub:
filters:
Expand All @@ -292,11 +307,11 @@ workflows:
variant: fMRIPrep-LTS
- pytest-docker:
name: "Test lite variant in Docker"
- pytest-singularity:
name: "Test in Singularity"
- pytest-singularity:
name: "Test ABCD-HCP variant in Singularity"
variant: ABCD-HCP
- pytest-singularity:
name: "Test lite variant in Singularity"
variant: lite
# - pytest-singularity:
# name: "Test in Singularity"
# - pytest-singularity:
# name: "Test ABCD-HCP variant in Singularity"
# variant: ABCD-HCP
# - pytest-singularity:
# name: "Test lite variant in Singularity"
# variant: lite
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
!.github/scripts
bids-examples
.circleci
cpac_runs
.env*
.git
.github
!.github/scripts
*.tar.gz
60 changes: 60 additions & 0 deletions .github/Dockerfiles/AFNI.23.0.07-bionic.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
FROM ghcr.io/fcp-indi/c-pac/ubuntu:python3.10-bionic-non-free as AFNI
USER root

# install AFNI
COPY dev/docker_data/required_afni_pkgs.txt /opt/required_afni_pkgs.txt
COPY dev/docker_data/checksum/AFNI.23.0.07.sha384 /tmp/AFNI.23.0.07.sha384
RUN if [ -f /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 ]; then \
ln -svf /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/x86_64-linux-gnu/libGL.so.1; \
fi \
&& libs_path=/usr/lib/x86_64-linux-gnu \
&& if [ -f $libs_path/libgsl.so.23 ]; then \
ln -svf $libs_path/libgsl.so.23 $libs_path/libgsl.so.19 \
&& ln -svf $libs_path/libgsl.so.23 $libs_path/libgsl.so.0; \
elif [ -f $libs_path/libgsl.so.23.0.0 ]; then \
ln -svf $libs_path/libgsl.so.23.0.0 $libs_path/libgsl.so.19 \
&& ln -svf $libs_path/libgsl.so.23.0.0 $libs_path/libgsl.so.0; \
elif [ -f $libs_path/libgsl.so ]; then \
ln -svf $libs_path/libgsl.so $libs_path/libgsl.so.0; \
fi \
&& LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH \
&& export LD_LIBRARY_PATH \
&& apt-get update && apt-get install -y libglw1-mesa-dev \
&& AFNI_VERSION="23.0.07" \
&& curl -LOJ https://github.com/afni/afni/archive/AFNI_${AFNI_VERSION}.tar.gz \
&& sha384sum --check /tmp/AFNI.23.0.07.sha384 \
&& mkdir /opt/afni \
&& tar -xvf afni-AFNI_${AFNI_VERSION}.tar.gz -C /opt/afni --strip-components 1 \
&& rm -rf afni-AFNI_${AFNI_VERSION}.tar.gz \
&& cd /opt/afni/src \
&& sed '/^INSTALLDIR =/c INSTALLDIR = /opt/afni' Makefile.linux_ubuntu_16_64 > Makefile \
&& make vastness && make cleanest \
&& cd /opt/afni \
# filter down to required packages
ls > full_ls \
&& sed 's/linux_openmp_64\///g' /opt/required_afni_pkgs.txt | sort > required_ls \
&& comm -2 -3 full_ls required_ls | xargs rm -rf full_ls required_ls \
&& apt-get remove -y libglw1-mesa-dev \
&& ldconfig

# set up AFNI
ENV PATH=/opt/afni:$PATH

ENTRYPOINT ["/bin/bash"]

# Link libraries for Singularity images
RUN ldconfig

RUN apt-get clean \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

FROM scratch
LABEL org.opencontainers.image.description "NOT INTENDED FOR USE OTHER THAN AS A STAGE IMAGE IN A MULTI-STAGE BUILD \
AFNI 21.1.00 (Domitian) stage"
LABEL org.opencontainers.image.source https://github.com/FCP-INDI/C-PAC
COPY --from=AFNI /lib/x86_64-linux-gnu/ld* /lib/x86_64-linux-gnu/
COPY --from=AFNI /lib/x86_64-linux-gnu/lib*so* /lib/x86_64-linux-gnu/
COPY --from=AFNI /lib64/ld* /lib64/
COPY --from=AFNI /opt/afni/ /opt/afni/
COPY --from=AFNI /usr/lib/x86_64-linux-gnu/lib*so* /usr/lib/x86_64-linux-gnu/
21 changes: 21 additions & 0 deletions .github/Dockerfiles/ANTs.2.4.3.Python3.10-bionic.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM ghcr.io/fcp-indi/c-pac/ubuntu:python3.10-bionic-non-free as ANTs

USER root
COPY dev/docker_data/checksum/ANTs.2.4.3.sha384 /tmp/checksum.sha384
RUN curl -sL https://github.com/ANTsX/ANTs/releases/download/v2.4.3/ants-2.4.3-ubuntu-18.04-X64-gcc.zip -o /tmp/ANTs.zip \
&& curl -sL https://s3-eu-west-1.amazonaws.com/pfigshare-u-files/3133832/Oasis.zip -o /tmp/Oasis.zip \
&& sha384sum --check /tmp/checksum.sha384 \
&& unzip /tmp/ANTs.zip -d /tmp \
&& mkdir /usr/lib/ants \
&& mv /tmp/ants-2.4.3/* /usr/lib/ants \
&& mkdir /ants_template \
&& unzip /tmp/Oasis.zip -d /tmp \
&& mv /tmp/MICCAI2012-Multi-Atlas-Challenge-Data /ants_template/oasis

# Only keep what we need
FROM scratch
LABEL org.opencontainers.image.description "NOT INTENDED FOR USE OTHER THAN AS A STAGE IMAGE IN A MULTI-STAGE BUILD \
ANTs 2.4.3 stage"
LABEL org.opencontainers.image.source https://github.com/FCP-INDI/C-PAC
COPY --from=ANTs /usr/lib/ants/ /usr/lib/ants/
COPY --from=ANTs /ants_template/ /ants_template/
11 changes: 6 additions & 5 deletions .github/Dockerfiles/C-PAC.develop-ABCD-HCP-bionic.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ RUN rm -Rf /code/docker_data/Dockerfiles && \
ENTRYPOINT ["/code/run-with-freesurfer.sh"]

# Link libraries for Singularity images
RUN ldconfig

RUN apt-get clean && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN ldconfig \
&& apt-get clean \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& chmod 777 / \
&& chmod 777 $(ls / | grep -v sys | grep -v proc)

# set user
# USER c-pac_user
7 changes: 4 additions & 3 deletions .github/Dockerfiles/C-PAC.develop-bionic.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ RUN rm -Rf /code/docker_data/Dockerfiles && \
ENTRYPOINT ["/code/run-with-freesurfer.sh"]

# link libraries & clean up
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
ldconfig && \
chmod 777 $(ls / | grep -v sys | grep -v proc)
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& ldconfig \
&& chmod 777 / \
&& chmod 777 $(ls / | grep -v sys | grep -v proc)

# set user
# USER c-pac_user
15 changes: 8 additions & 7 deletions .github/Dockerfiles/C-PAC.develop-fMRIPrep-LTS-xenial.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ RUN rm -Rf /code/docker_data/Dockerfiles && \
ENTRYPOINT ["/code/run-with-freesurfer.sh"]

# link libraries & clean up
RUN sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
locale-gen && \
apt-get clean && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
ldconfig && \
chmod 777 $(ls / | grep -v sys | grep -v proc)
RUN sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
&& locale-gen \
&& apt-get clean \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& ldconfig \
&& chmod 777 / \
&& chmod 777 $(ls / | grep -v sys | grep -v proc)

# set user
# USER c-pac_user
23 changes: 18 additions & 5 deletions .github/Dockerfiles/C-PAC.develop-lite-bionic.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
FROM ghcr.io/fcp-indi/c-pac:latest-bionic
FROM ghcr.io/fcp-indi/c-pac/stage-base:lite-v1.8.6.dev1
LABEL org.opencontainers.image.description "Full C-PAC image without FreeSurfer"
LABEL org.opencontainers.image.source https://github.com/FCP-INDI/C-PAC
USER root

# install C-PAC
COPY dev/circleci_data/pipe-test_ci.yml /cpac_resources/pipe-test_ci.yml
COPY . /code
RUN pip install -e /code
# set up runscript
COPY dev/docker_data /code/docker_data
RUN rm -Rf /code/docker_data/Dockerfiles && \
mv /code/docker_data/* /code && \
rm -Rf /code/docker_data && \
chmod +x /code/run.py && \
rm -Rf /code/run-with-freesurfer.sh
ENTRYPOINT ["/code/run.py"]

# remove FreeSurfer, link libraries & clean up
RUN rm -rf /usr/lib/freesurfer/ /code/run-with-freesurfer.sh /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
ln -svf /usr/lib/x86_64-linux-gnu/libgsl.so.23 /usr/lib/x86_64-linux-gnu/libgsl.so.0 && ldconfig && \
chmod 777 $(ls / | grep -v sys | grep -v proc)
# link libraries & clean up
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& ldconfig \
&& chmod 777 / \
&& chmod 777 $(ls / | grep -v sys | grep -v proc)

# set user
# USER c-pac_user
23 changes: 20 additions & 3 deletions .github/Dockerfiles/FSL.5.0.10-bionic.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
FROM ghcr.io/shnizzedy/c-pac/fsl:neurodebian-bionic as FSL-Neurodebian
# Copyright (C) 2021-2023 C-PAC Developers

# This file is part of C-PAC.

# C-PAC is free software: you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.

# C-PAC is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
# License for more details.

# You should have received a copy of the GNU Lesser General Public
# License along with C-PAC. If not, see <https://www.gnu.org/licenses/>.
FROM ghcr.io/fcp-indi/c-pac/fsl:data as data
FROM ghcr.io/fcp-indi/c-pac/ubuntu:bionic-non-free AS FSL

USER root
Expand All @@ -14,7 +30,6 @@ ENV FSLDIR=/usr/share/fsl/5.0 \
PATH=/usr/lib/fsl/5.0:$PATH \
TZ=America/New_York


# Installing and setting up FSL
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone && \
Expand Down Expand Up @@ -45,4 +60,6 @@ COPY --from=FSL /usr/bin/wish /usr/bin/wish
COPY --from=FSL /usr/share/fsl/ /usr/share/fsl/
COPY --from=FSL /usr/lib/ /usr/lib/
COPY --from=FSL /lib/x86_64-linux-gnu/lib*so* /lib/x86_64-linux-gnu/
COPY --from=FSL-Neurodebian /usr/share/fsl/5.0/data/standard/tissuepriors/*mm /usr/share/fsl/5.0/data/standard/tissuepriors/
# install C-PAC resources into FSL
COPY --from=data /fsl_data/standard /usr/share/fsl/5.0/data/standard
COPY --from=data /fsl_data/atlases /usr/share/fsl/5.0/data/atlases
Loading