Skip to content

Commit 63de6d0

Browse files
authored
[FIX] fix push to docker hub on circle CI (#1282)
* fix push to docker hub * update circle ci workflow * typo * try to fix artefacts * fix paths
1 parent 4659cd6 commit 63de6d0

File tree

3 files changed

+104
-161
lines changed

3 files changed

+104
-161
lines changed

.circleci/config.yml

Lines changed: 101 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,32 @@ jobs:
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
@@ -38,7 +44,7 @@ jobs:
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
@@ -49,7 +55,7 @@ jobs:
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

Comments
 (0)