Skip to content

Commit 50ae456

Browse files
committed
maint: move testdata on to gin.g-node.org & datalad
1 parent 27458e7 commit 50ae456

File tree

1 file changed

+57
-19
lines changed

1 file changed

+57
-19
lines changed

.circleci/config.yml

Lines changed: 57 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
jobs:
33
build_pytest:
44
machine:
5-
image: circleci/classic:201808-01
5+
image: ubuntu-2004:202107-02
66
working_directory: /tmp/src/nitransforms
77
environment:
88
TZ: "/usr/share/zoneinfo/America/Los_Angeles"
@@ -44,13 +44,17 @@ jobs:
4444
- run:
4545
name: Prepare a Python environment
4646
command: |
47-
pyenv local 3.7.0
47+
export PY3=$(pyenv versions | grep '3\.' |
48+
sed -e 's/.* 3\./3./' -e 's/ .*//')
49+
pyenv local $PY3
4850
python3 -m pip install "setuptools >= 45.0" "setuptools_scm[toml] >= 3.4" "pip>=10.0.1"
4951
- run:
5052
name: Build Docker image & push to registry
5153
no_output_timeout: 60m
5254
command: |
53-
pyenv local 3.7.0
55+
export PY3=$(pyenv versions | grep '3\.' |
56+
sed -e 's/.* 3\./3./' -e 's/ .*//')
57+
pyenv local $PY3
5458
e=1 && for i in {1..5}; do
5559
docker build --rm --cache-from=nitransforms:latest \
5660
-t nitransforms:latest \
@@ -73,7 +77,9 @@ jobs:
7377
- run:
7478
name: Check version packaged in Docker image
7579
command: |
76-
pyenv local 3.7.0
80+
export PY3=$(pyenv versions | grep '3\.' |
81+
sed -e 's/.* 3\./3./' -e 's/ .*//')
82+
pyenv local $PY3
7783
THISVERSION=${CIRCLE_TAG:-$(python3 setup.py --version)}
7884
INSTALLED_VERSION=$(\
7985
docker run -it --rm --entrypoint=python nitransforms \
@@ -90,24 +96,56 @@ jobs:
9096
9197
- restore_cache:
9298
keys:
93-
- data-v1-{{ .Branch }}-{{ epoch }}
94-
- data-v1-{{ .Branch }}-
95-
- data-v1-master-
96-
- data-v1-
97-
paths:
98-
- /tmp/data
99+
- env-v1-{{ .Branch }}-
100+
- env-v1-master-
101+
- env-v1-
102+
- restore_cache:
103+
keys:
104+
- data-v2-{{ .Branch }}-
105+
- data-v2-master-
106+
- data-v2-
99107
- run:
100-
name: Download data
108+
name: Setup git-annex
101109
command: |
102-
if [[ ! -d /tmp/data ]]; then
103-
wget --retry-connrefused --waitretry=5 --read-timeout=20 --timeout=15 -t 0 -q \
104-
-O data.zip "https://files.osf.io/v1/resources/fvuh8/providers/osfstorage/5e7d5b65c3f8d300bafa05e0/?zip="
105-
unzip -d /tmp/data data.zip
106-
else
107-
echo "Dataset was cached"
110+
if [[ ! -d /usr/lib/git-annex.linux ]]; then
111+
wget -O- http://neuro.debian.net/lists/focal.us-ca.full | tee /etc/apt/sources.list.d/neurodebian.sources.list
112+
apt-key add /tmp/src/nitransforms/docker/files/neurodebian.gpg
113+
apt-key adv --recv-keys --keyserver hkps://keys.openpgp.org 0xA5D32F012649A5A9 || true
114+
apt update && apt-get install -y --no-install-recommends git-annex-standalone
108115
fi
116+
git config --global user.name 'NiPy'
117+
git config --global user.email 'nipreps@gmail.com'
118+
- run:
119+
name: Setup DataLad & TemplateFlow
120+
command: |
121+
export PY3=$(pyenv versions | grep '3\.' |
122+
sed -e 's/.* 3\./3./' -e 's/ .*//')
123+
pyenv local $PY3
124+
python -m pip install --no-cache-dir -U pip
125+
python -m pip install --no-cache-dir -U datalad datalad-osf
126+
127+
- save_cache:
128+
key: env-v1-{{ .Branch }}-{{ .BuildNum }}
129+
paths:
130+
- /usr/local/bin
131+
- /usr/local/lib/python3.7/site-packages
132+
- /usr/bin/git-annex
133+
- /usr/bin/git-annex-shell
134+
- /usr/lib/git-annex.linux
135+
136+
- run:
137+
name: Install test data from GIN
138+
command: |
139+
export PY3=$(pyenv versions | grep '3\.' |
140+
sed -e 's/.* 3\./3./' -e 's/ .*//')
141+
pyenv local $PY3
142+
143+
cd /tmp/data
144+
datalad install -r https://gin.g-node.org/oesteban/nitransforms-tests
145+
datalad update -r --merge -d nitransforms-tests/
146+
datalad get -r -d nitransforms-tests/
109147
- save_cache:
110-
key: data-v1-{{ .Branch }}-{{ epoch }}
148+
key: data-v1-{{ .Branch }}-{{ .BuildNum }}
111149
paths:
112150
- /tmp/data
113151
- run:
@@ -119,7 +157,7 @@ jobs:
119157
command: |
120158
mkdir -p $PWD/{artifacts,summaries}
121159
docker run -u $( id -u ) -it --rm -w /src/nitransforms \
122-
-v /tmp/data:/data -e TEST_DATA_HOME=/data \
160+
-v /tmp/data/nitransforms-tests:/data -e TEST_DATA_HOME=/data \
123161
-e COVERAGE_FILE=/tmp/summaries/.pytest.coverage \
124162
-v /tmp/fslicense/license.txt:/opt/freesurfer/license.txt:ro \
125163
-v ${PWD}:/tmp nitransforms:latest \

0 commit comments

Comments
 (0)