66
77 machine :
88 image : ubuntu-2204:2022.10.2
9+ parameters :
10+ dh_orga :
11+ type : string
12+ default : cpplab
13+ dh_repo :
14+ type : string
15+ default : bidspm
916 steps :
1017 - checkout
11- - run : make fix_submodule
18+ - run :
19+ name : update submodules
20+ command : make fix_submodule
1221 - restore_cache :
1322 keys :
1423 - my_cache
1524 - run :
16- name : Build Docker image
25+ name : build Docker image
1726 command : |
1827 set -eux -o pipefail
19- # make sure we have a lowercase repo
20- user_name=cpplab
21- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
2228 if [[ -e "${HOME}/docker/image.tar" ]]; then
2329 docker load -i "${HOME}/docker/image.tar"
2430 fi
2531 git describe --tags --always > version
26- docker build -t "${user_name}/${repo_name}" .
32+ docker build -t << parameters.dh_orga >>/<< parameters.dh_repo >> .
2733 mkdir -p "${HOME}/docker"
28- docker save "${user_name}/${repo_name}" > "${HOME}/docker/image.tar"
34+ docker save << parameters.dh_orga >>/<< parameters.dh_repo >> > "${HOME}/docker/image.tar"
2935 docker images
3036 - persist_to_workspace :
3137 root : /home/circleci
3844 steps :
3945 - checkout
4046 - run :
41- name : Install dependencies
47+ name : install dependencies
4248 command : |
4349 sudo apt-get update
4450 sudo apt-get install -y python3 git-annex
4955 keys :
5056 - my_cache
5157 - run :
52- name : Get ds000001
58+ name : get ds000001
5359 command : |
5460 # Git set up: to keep datalad warnings away
5561 git config --global --add user.name "Ford Escort"
@@ -75,26 +81,35 @@ jobs:
7581 - data/ds000001
7682 - data/ds000001-fmriprep
7783
78- default_model :
84+ fast :
85+ # run actions that run quickly
7986 machine :
8087 image : ubuntu-2204:2022.10.2
81-
88+ parameters :
89+ dh_orga :
90+ type : string
91+ default : cpplab
92+ dh_repo :
93+ type : string
94+ default : bidspm
8295 steps :
8396 - attach_workspace :
8497 at : /tmp/workspace
85- - run : docker load -i /tmp/workspace/docker/image.tar
98+ - run :
99+ name : load docker image
100+ command : docker load -i /tmp/workspace/docker/image.tar
86101
87- - run : mkdir -p ${HOME}/outputs/ds000001/derivatives
102+ - run :
103+ name : create output directory
104+ command : mkdir -p /home/circleci/outputs/ds000001/derivatives
88105
89106 - run :
90107 name : default model subject level
91108 command : |
92- user_name=cpplab
93- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
94109 docker run -ti --rm \
95110 -v /tmp/workspace/data/ds000001:/bids_dataset \
96- -v ${HOME} /outputs:/outputs \
97- ${user_name}/${repo_name} \
111+ -v /home/circleci /outputs:/outputs \
112+ << parameters.dh_orga >>/<< parameters.dh_repo >> \
98113 /bids_dataset \
99114 /outputs/ds000001 \
100115 subject \
@@ -103,17 +118,15 @@ jobs:
103118 --space MNI152NLin2009cAsym \
104119 --verbosity 3
105120
106- cat ${HOME} /outputs/ds000001/derivatives/models/*.json
121+ cat /home/circleci /outputs/ds000001/derivatives/models/*.json
107122
108123 - run :
109124 name : default model dataset level
110125 command : |
111- user_name=cpplab
112- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
113126 docker run -ti --rm \
114127 -v /tmp/workspace/data/ds000001:/bids_dataset \
115- -v ${HOME} /outputs:/outputs \
116- ${user_name}/${repo_name} \
128+ -v /home/circleci /outputs:/outputs \
129+ << parameters.dh_orga >>/<< parameters.dh_repo >> \
117130 /bids_dataset \
118131 /outputs/ds000001 \
119132 dataset \
@@ -122,28 +135,58 @@ jobs:
122135 --space MNI152NLin2009cAsym \
123136 --verbosity 3
124137
125- cat ${HOME}/outputs/ds000001/derivatives/models/*.json
138+ cat /home/circleci/outputs/ds000001/derivatives/models/*.json
139+
140+ - store_artifacts :
141+ path : /home/circleci/outputs
142+
143+ - run :
144+ name : create roi
145+ command : |
146+ docker run -ti --rm \
147+ -v /tmp/workspace/data/ds000001:/bids_dataset \
148+ -v /home/circleci/outputs:/outputs \
149+ << parameters.dh_orga >>/<< parameters.dh_repo >> \
150+ /outputs/ds000001 \
151+ /outputs/ds000001 \
152+ dataset \
153+ --action create_roi \
154+ --roi_atlas wang \
155+ --roi_name V1v V1d \
156+ --space IXI549Space \
157+ --verbosity 3
158+
159+ - store_artifacts :
160+ path : /home/circleci/outputs
126161
127162 stats :
128163 machine :
129164 image : ubuntu-2204:2022.10.2
130-
165+ parameters :
166+ dh_orga :
167+ type : string
168+ default : cpplab
169+ dh_repo :
170+ type : string
171+ default : bidspm
131172 steps :
132173 - attach_workspace :
133174 at : /tmp/workspace
134- - run : docker load -i /tmp/workspace/docker/image.tar
175+ - run :
176+ name : load docker image
177+ command : docker load -i /tmp/workspace/docker/image.tar
135178
136- - run : mkdir -p ${HOME}/outputs/ds000001/derivatives
179+ - run :
180+ name : create output directory
181+ command : mkdir -p /home/circleci/outputs/ds000001/derivatives
137182
138183 - run :
139184 name : smooth
140185 command : |
141- user_name=cpplab
142- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
143186 docker run -ti --rm \
144187 -v /tmp/workspace/data/ds000001-fmriprep:/bids_dataset \
145- -v ${HOME} /outputs:/outputs \
146- ${user_name}/${repo_name} \
188+ -v /home/circleci /outputs:/outputs \
189+ << parameters.dh_orga >>/<< parameters.dh_repo >> \
147190 /bids_dataset \
148191 /outputs/ds000001 \
149192 subject \
@@ -160,14 +203,12 @@ jobs:
160203 - run :
161204 name : stats subject level
162205 command : |
163- user_name=cpplab
164- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
165206 docker run -ti --rm \
166207 -v /tmp/workspace/data/ds000001:/bids_dataset \
167- -v ${HOME} /outputs:/outputs \
208+ -v /home/circleci /outputs:/outputs \
168209 -v ~/project/demos/openneuro/models:/models \
169210 -v ~/project/demos/openneuro/options:/options \
170- ${user_name}/${repo_name} \
211+ << parameters.dh_orga >>/<< parameters.dh_repo >> \
171212 /bids_dataset \
172213 /outputs/ds000001 \
173214 subject \
@@ -185,14 +226,12 @@ jobs:
185226 - run :
186227 name : stats group level
187228 command : |
188- user_name=cpplab
189- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
190229 docker run -ti --rm \
191230 -v /tmp/workspace/data/ds000001:/bids_dataset \
192- -v ${HOME} /outputs:/outputs \
231+ -v /home/circleci /outputs:/outputs \
193232 -v ~/project/demos/openneuro/models:/models \
194233 -v ~/project/demos/openneuro/options:/options \
195- ${user_name}/${repo_name} \
234+ << parameters.dh_orga >>/<< parameters.dh_repo >> \
196235 /bids_dataset \
197236 /outputs/ds000001 \
198237 dataset \
@@ -206,38 +245,48 @@ jobs:
206245 --verbosity 3 \
207246 --options /options/ds000001.json
208247
248+ - store_artifacts :
249+ path : /home/circleci/outputs/ds000001/derivatives/bidspm-stats
250+
209251 deploy :
210252
211253 machine :
212254 image : ubuntu-2204:2022.10.2
213-
255+ parameters :
256+ dh_orga :
257+ type : string
258+ default : cpplab
259+ dh_repo :
260+ type : string
261+ default : bidspm
214262 steps :
215263 - attach_workspace :
216264 at : /tmp/workspace
217265
218- - run : docker load -i /tmp/workspace/docker/image.tar
266+ - run :
267+ name : load docker image
268+ command : docker load -i /tmp/workspace/docker/image.tar
219269 - run :
220270 name : push to dockerhub
221271 command : |
222272 set -ex -o pipefail
223273
224274 if [[ -n "${DOCKER_TOKEN}" ]]; then
225275
226- # make sure we have a lowercase repo
227276 user_name=remigau
228- repo_name=$(echo "${CIRCLE_PROJECT_REPONAME}" | tr '[:upper:]' '[:lower:]')
229277
230- echo "${DOCKER_TOKEN}" | docker login -u "${DOCKER_USER }" --password-stdin
278+ echo "${DOCKER_TOKEN}" | docker login -u "${user_name }" --password-stdin
231279
232- : " Pushing to DockerHub ${user_name}/${repo_name} :unstable"
233- docker tag "${user_name}/${repo_name}" "${user_name}/${repo_name} :unstable"
234- docker push "${user_name}/${repo_name} :unstable"
280+ : Pushing to DockerHub << parameters.dh_orga >>/<< parameters.dh_repo >> :unstable
281+ docker tag << parameters.dh_orga >>/<< parameters.dh_repo >> << parameters.dh_orga >>/<< parameters.dh_repo >> :unstable
282+ docker push << parameters.dh_orga >>/<< parameters.dh_repo >> :unstable
235283
236284 if [[ -n "${CIRCLE_TAG}" ]]; then
237- : "Pushing to DockerHub ${user_name}/${repo_name}:${CIRCLE_TAG}"
238- docker push "${user_name}/${repo_name}:latest"
239- docker tag "${user_name}/${repo_name}" "${user_name}/${repo_name}:${CIRCLE_TAG}"
240- docker push "${user_name}/${repo_name}:${CIRCLE_TAG}"
285+ : Pushing to DockerHub << parameters.dh_orga >>/<< parameters.dh_repo >>:"${CIRCLE_TAG}"
286+ docker tag << parameters.dh_orga >>/<< parameters.dh_repo >> << parameters.dh_orga >>/<< parameters.dh_repo >>:latest
287+ docker push << parameters.dh_orga >>/<< parameters.dh_repo >>:latest
288+ docker tag << parameters.dh_orga >>/<< parameters.dh_repo >> << parameters.dh_orga >>/<< parameters.dh_repo >>:"${CIRCLE_TAG}"
289+ docker push << parameters.dh_orga >>/<< parameters.dh_repo >>:"${CIRCLE_TAG}"
241290 fi
242291
243292 else
@@ -250,7 +299,7 @@ workflows:
250299 jobs :
251300 - build
252301 - get_data
253- - default_model :
302+ - fast :
254303 requires :
255304 - build
256305 - get_data
@@ -263,5 +312,6 @@ workflows:
263312 - DOCKER_HUB
264313 requires :
265314 - build
315+ - fast
266316
267317# VS Code Extension Version: 1.5.1
0 commit comments