Skip to content

Commit

Permalink
Merge pull request #7 from bids-apps/6.0.1
Browse files Browse the repository at this point in the history
[REL] 6.0.1
  • Loading branch information
Remi-Gau authored Jan 8, 2023
2 parents e7f39a5 + 6e49c76 commit 2a1a079
Show file tree
Hide file tree
Showing 6 changed files with 185 additions and 48 deletions.
47 changes: 47 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
version: 2.1
jobs:
build:
machine:
# https://circleci.com/developer/machine/image/ubuntu-2204
image: ubuntu-2204:2022.10.2
steps:
- checkout
- run:
name: build docker image
command: |
wget https://raw.githubusercontent.com/bids-apps/maintenance-tools/main/circleci/build_docker.sh
bash build_docker.sh
- persist_to_workspace:
root: /home/circleci
paths:
- docker/image.tar

deploy:
machine:
image: ubuntu-2204:2022.10.2
steps:
- attach_workspace:
at: /tmp/workspace
- run: docker load -i /tmp/workspace/docker/image.tar
- run:
name: push to dockerhub
command: |
wget https://raw.githubusercontent.com/bids-apps/maintenance-tools/main/circleci/push_docker.sh
bash push_docker.sh
workflows:
build_deploy:
jobs:
- build:
filters:
branches:
only: master
- deploy:
context:
- dockerhub
requires:
- build
filters:
branches:
only: master
9 changes: 9 additions & 0 deletions .hadolint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
ignored:
- DL3002
- DL3006
- DL3008
- DL4006
- SC2015
- SC2016
- SC2028
36 changes: 36 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
- id: check-added-large-files
- id: check-case-conflict
- id: check-merge-conflict


- repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt
rev: 0.2.2
hooks:
- id: yamlfmt
args: [--mapping, '2', --sequence, '2', --offset, '0']


- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint-docker
name: Lint Dockerfiles
description: Runs hadolint Docker image to lint Dockerfiles
language: docker_image
types: [dockerfile]
entry: ghcr.io/hadolint/hadolint hadolint

ci:
skip: [hadolint-docker]
104 changes: 84 additions & 20 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,86 @@
FROM bids/base_validator

RUN apt-get update && \
apt-get install -y curl && \
curl -sSL http://neuro.debian.net/lists/trusty.us-ca.full >> /etc/apt/sources.list.d/neurodebian.sources.list && \
apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9 && \
apt-get update && \
apt-get remove -y curl && \
apt-get install -y fsl-core=5.0.9-3~nd14.04+1 && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Generated by Neurodocker and Reproenv.

FROM bids/base_validator
ENV FSLDIR="/opt/fsl-6.0.1" \
PATH="/opt/fsl-6.0.1/bin:$PATH" \
FSLOUTPUTTYPE="NIFTI_GZ" \
FSLMULTIFILEQUIT="TRUE" \
FSLTCLSH="/opt/fsl-6.0.1/bin/fsltclsh" \
FSLWISH="/opt/fsl-6.0.1/bin/fslwish" \
FSLLOCKDIR="" \
FSLMACHINELIST="" \
FSLREMOTECALL="" \
FSLGECUDAQ="cuda.q"
RUN apt-get update -qq \
&& apt-get install -y -q --no-install-recommends \
bc \
ca-certificates \
curl \
dc \
file \
libfontconfig1 \
libfreetype6 \
libgl1-mesa-dev \
libgl1-mesa-dri \
libglu1-mesa-dev \
libgomp1 \
libice6 \
libopenblas-base \
libxcursor1 \
libxft2 \
libxinerama1 \
libxrandr2 \
libxrender1 \
libxt6 \
nano \
sudo \
wget \
&& rm -rf /var/lib/apt/lists/* \
&& echo "Downloading FSL ..." \
&& mkdir -p /opt/fsl-6.0.1 \
&& curl -fL https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.1-centos6_64.tar.gz \
| tar -xz -C /opt/fsl-6.0.1 --strip-components 1 \
&& echo "Installing FSL conda environment ..." \
&& bash /opt/fsl-6.0.1/etc/fslconf/fslpython_install.sh -f /opt/fsl-6.0.1 \
&& echo "Downgrading deprecation module per https://github.com/kaczmarj/neurodocker/issues/271#issuecomment-514523420" \
&& /opt/fsl-6.0.1/fslpython/bin/conda install -n fslpython -c conda-forge -y deprecation==1.* \
&& echo "Removing bundled with FSLeyes libz likely incompatible with the one from OS" \
&& rm -f /opt/fsl-6.0.1/bin/FSLeyes/libz.so.1

# Configure environment
ENV FSLDIR=/usr/share/fsl/5.0
ENV FSLOUTPUTTYPE=NIFTI_GZ
ENV PATH=/usr/lib/fsl/5.0:$PATH
ENV FSLMULTIFILEQUIT=TRUE
ENV POSSUMDIR=/usr/share/fsl/5.0
ENV LD_LIBRARY_PATH=/usr/lib/fsl/5.0:$LD_LIBRARY_PATH
ENV FSLTCLSH=/usr/bin/tclsh
ENV FSLWISH=/usr/bin/wish
ENV FSLOUTPUTTYPE=NIFTI_GZ
# Save specification to JSON.
RUN printf '{ \
"pkg_manager": "apt", \
"existing_users": [ \
"root" \
], \
"instructions": [ \
{ \
"name": "from_", \
"kwds": { \
"base_image": "bids/base_validator" \
} \
}, \
{ \
"name": "env", \
"kwds": { \
"FSLDIR": "/opt/fsl-6.0.1", \
"PATH": "/opt/fsl-6.0.1/bin:$PATH", \
"FSLOUTPUTTYPE": "NIFTI_GZ", \
"FSLMULTIFILEQUIT": "TRUE", \
"FSLTCLSH": "/opt/fsl-6.0.1/bin/fsltclsh", \
"FSLWISH": "/opt/fsl-6.0.1/bin/fslwish", \
"FSLLOCKDIR": "", \
"FSLMACHINELIST": "", \
"FSLREMOTECALL": "", \
"FSLGECUDAQ": "cuda.q" \
} \
}, \
{ \
"name": "run", \
"kwds": { \
"command": "apt-get update -qq\\napt-get install -y -q --no-install-recommends \\\\\\n bc \\\\\\n ca-certificates \\\\\\n curl \\\\\\n dc \\\\\\n file \\\\\\n libfontconfig1 \\\\\\n libfreetype6 \\\\\\n libgl1-mesa-dev \\\\\\n libgl1-mesa-dri \\\\\\n libglu1-mesa-dev \\\\\\n libgomp1 \\\\\\n libice6 \\\\\\n libopenblas-base \\\\\\n libxcursor1 \\\\\\n libxft2 \\\\\\n libxinerama1 \\\\\\n libxrandr2 \\\\\\n libxrender1 \\\\\\n libxt6 \\\\\\n nano \\\\\\n sudo \\\\\\n wget\\nrm -rf /var/lib/apt/lists/*\\necho \\"Downloading FSL ...\\"\\nmkdir -p /opt/fsl-6.0.1\\ncurl -fL https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.1-centos6_64.tar.gz \\\\\\n| tar -xz -C /opt/fsl-6.0.1 --strip-components 1 \\necho \\"Installing FSL conda environment ...\\"\\nbash /opt/fsl-6.0.1/etc/fslconf/fslpython_install.sh -f /opt/fsl-6.0.1\\necho \\"Downgrading deprecation module per https://github.com/kaczmarj/neurodocker/issues/271#issuecomment-514523420\\"\\n/opt/fsl-6.0.1/fslpython/bin/conda install -n fslpython -c conda-forge -y deprecation==1.*\\necho \\"Removing bundled with FSLeyes libz likely incompatible with the one from OS\\"\\nrm -f /opt/fsl-6.0.1/bin/FSLeyes/libz.so.1" \
} \
} \
] \
}' > /.reproenv.json
# End saving to specification to JSON.
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.PHONY: Dockerfile

Dockerfile:
docker run --rm -i kaczmarj/neurodocker:0.9.1 \
generate docker \
--base-image bids/base_validator \
--pkg-manager apt \
--yes \
--fsl method=binaries version=6.0.1 > Dockerfile
28 changes: 0 additions & 28 deletions circle.yml

This file was deleted.

0 comments on commit 2a1a079

Please sign in to comment.