Skip to content

Commit 988eb88

Browse files
committed
normalizing paths
- Docker: install nipype in /src - Docker: work directory is now /work instead of /scratch - Circle: move from `$SCRATCH` to `$WORKDIR` since the former is more commonly set on HPC environments
1 parent 384d2e2 commit 988eb88

File tree

4 files changed

+27
-27
lines changed

4 files changed

+27
-27
lines changed

.circle/codecov.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ set -x # Print command traces before executing command.
1313
curl -so codecov.io https://codecov.io/bash
1414
chmod 755 codecov.io
1515

16-
find "${SCRATCH}/" -name 'coverage*.xml' -maxdepth 1 -print0 | \
16+
find "${WORKDIR}/" -name 'coverage*.xml' -maxdepth 1 -print0 | \
1717
xargs -0 -I file ./codecov.io -f file -t "${CODECOV_TOKEN}" -F unittests
18-
find "${SCRATCH}/" -name 'smoketest*.xml' -maxdepth 1 -print0 | \
18+
find "${WORKDIR}/" -name 'smoketest*.xml' -maxdepth 1 -print0 | \
1919
xargs -0 -I file ./codecov.io -f file -t "${CODECOV_TOKEN}" -F smoketests
2020

2121
# Place test and coverage in the tests folder
2222
mkdir -p ${CIRCLE_TEST_REPORTS}/tests/
23-
cp ${SCRATCH}/pytest*.xml ${CIRCLE_TEST_REPORTS}/tests/ || true
24-
cp ${SCRATCH}/coverage*.xml ${CIRCLE_TEST_REPORTS}/tests/ || true
25-
cp ${SCRATCH}/smoketest*.xml ${CIRCLE_TEST_REPORTS}/tests/ || true
23+
cp ${WORKDIR}/pytest*.xml ${CIRCLE_TEST_REPORTS}/tests/ || true
24+
cp ${WORKDIR}/coverage*.xml ${CIRCLE_TEST_REPORTS}/tests/ || true
25+
cp ${WORKDIR}/smoketest*.xml ${CIRCLE_TEST_REPORTS}/tests/ || true

.circle/tests.sh

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ fi
1717
# They may need to be rebalanced in the future.
1818
case ${CIRCLE_NODE_INDEX} in
1919
0)
20-
docker run --rm -it -e FSL_COURSE_DATA="/root/examples/nipype-fsl_course_data" -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /root/src/nipype nipype/nipype:py27 /usr/bin/run_pytests.sh py27 && \
21-
docker run --rm -it -e FSL_COURSE_DATA="/root/examples/nipype-fsl_course_data" -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /root/src/nipype nipype/nipype:py35 /usr/bin/run_pytests.sh py35 && \
22-
docker run --rm -it -v $SCRATCH:/scratch -w /root/src/nipype/doc nipype/nipype:py35 /usr/bin/run_builddocs.sh && \
23-
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d && \
24-
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d
20+
docker run --rm -it -e FSL_COURSE_DATA="/root/examples/nipype-fsl_course_data" -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /root/src/nipype nipype/nipype:py27 /usr/bin/run_pytests.sh py27 && \
21+
docker run --rm -it -e FSL_COURSE_DATA="/root/examples/nipype-fsl_course_data" -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /root/src/nipype nipype/nipype:py35 /usr/bin/run_pytests.sh py35 && \
22+
docker run --rm -it -v $WORKDIR:/work -w /root/src/nipype/doc nipype/nipype:py35 /usr/bin/run_builddocs.sh && \
23+
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d && \
24+
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d
2525
;;
2626
1)
27-
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 && \
28-
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline
27+
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 && \
28+
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline
2929
;;
3030
2)
31-
docker run --rm -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py27 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /root/examples/ level1 && \
32-
docker run --rm -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /root/examples/ l2pipeline
31+
docker run --rm -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py27 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /root/examples/ level1 && \
32+
docker run --rm -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /root/examples/ l2pipeline
3333
;;
3434
3)
35-
docker run --rm -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /root/examples/ level1 && \
36-
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline && \
37-
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $SCRATCH:/scratch -w /scratch nipype/nipype:py35 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow
35+
docker run --rm -it -e NIPYPE_NUMBER_OF_CPUS=4 -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_spm_nested MultiProc /root/examples/ level1 && \
36+
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline && \
37+
docker run --rm -it -v $HOME/examples:/root/examples:ro -v $WORKDIR:/work -w /work nipype/nipype:py35 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow
3838
;;
3939
esac

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ RUN sed -i 's/\(backend *: \).*$/\1Agg/g' /usr/local/miniconda/lib/python${PYTHO
7878
python -c "from matplotlib import font_manager"
7979

8080
# Installing dev requirements (packages that are not in pypi)
81-
WORKDIR /root/
81+
WORKDIR /src/
8282
COPY requirements.txt requirements.txt
8383
RUN pip install -r requirements.txt && \
8484
rm -rf ~/.cache/pip
8585

8686
# Installing nipype
87-
COPY . /root/src/nipype
88-
RUN cd /root/src/nipype && \
87+
COPY . /src/nipype
88+
RUN cd /src/nipype && \
8989
pip install -e .[all] && \
9090
rm -rf ~/.cache/pip
9191

@@ -99,7 +99,7 @@ RUN rm -rf ${FSLDIR}/bin/imglob && \
9999
chmod +x /usr/bin/fsl_imglob.py && \
100100
ln -s /usr/bin/fsl_imglob.py ${FSLDIR}/bin/imglob
101101

102-
WORKDIR /root/
102+
WORKDIR /work/
103103

104104
LABEL org.label-schema.build-date=$BUILD_DATE \
105105
org.label-schema.name="NIPYPE" \

circle.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ machine:
77
DATA_NIPYPE_TUTORIAL_URL: "${OSF_NIPYPE_URL}/57f4739cb83f6901ed94bf21"
88
DATA_NIPYPE_FSL_COURSE: "${OSF_NIPYPE_URL}/57f472cf9ad5a101f977ecfe"
99
DATA_NIPYPE_FSL_FEEDS: "${OSF_NIPYPE_URL}/57f473066c613b01f113e7af"
10-
SCRATCH: "$HOME/scratch"
10+
WORKDIR: "$HOME/work"
1111
CODECOV_TOKEN: "ac172a50-8e66-42e5-8822-5373fcf54686"
1212
services:
1313
- docker
@@ -22,9 +22,9 @@ dependencies:
2222
# Let CircleCI cache the apt archive
2323
- mkdir -p ~/.apt-cache/partial && sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives
2424
- sudo apt-get -y update && sudo apt-get install -y wget bzip2
25-
# Create scratch folder and force group permissions
26-
- mkdir -p $SCRATCH && sudo setfacl -d -m group:ubuntu:rwx $SCRATCH && sudo setfacl -m group:ubuntu:rwx $SCRATCH
27-
- mkdir -p $HOME/docker $HOME/examples $SCRATCH/pytest $SCRATCH/logs
25+
# Create work folder and force group permissions
26+
- mkdir -p $WORKDIR && sudo setfacl -d -m group:ubuntu:rwx $WORKDIR && sudo setfacl -m group:ubuntu:rwx $WORKDIR
27+
- mkdir -p $HOME/docker $HOME/examples $WORKDIR/pytest $WORKDIR/logs
2828
override:
2929
- if [[ -e $HOME/docker/cache.tar ]]; then docker load --input $HOME/docker/cache.tar; else echo 'No docker image found in cache'; fi :
3030
timeout: 6000
@@ -54,8 +54,8 @@ test:
5454

5555
general:
5656
artifacts:
57-
- "~/scratch/docs"
58-
- "~/scratch/logs"
57+
- "~/work/docs"
58+
- "~/work/logs"
5959

6060
deployment:
6161
production:

0 commit comments

Comments
 (0)