1
+ _machine_defaults : &machine_defaults
2
+ environment :
3
+ TZ : " /usr/share/zoneinfo/America/New_York"
4
+ SCRATCH : " /scratch"
5
+ machine :
6
+ image : ubuntu-2004:current
7
+ docker_layer_caching : true
8
+ working_directory : /tmp/src/nibabies
9
+
10
+ _python_defaults : &python_defaults
11
+ docker :
12
+ - image : circleci/python:3.9.6
13
+ working_directory : /tmp/src/nibabies
14
+
15
+
16
+ _docker_auth : &docker_auth
17
+ name : Docker authentication
18
+ command : |
19
+ if [[ -n $DOCKER_PAT ]]; then
20
+ echo "$DOCKER_PAT" | docker login -u $DOCKER_USER --password-stdin
21
+ fi
22
+
23
+ _setup_docker_registry : &setup_docker_registry
24
+ name : Set up Docker registry
25
+ command : |
26
+ if [[ -f /tmp/images/registry.tar.gz ]]; then
27
+ echo "Loading saved registry image"
28
+ docker load < /tmp/images/registry.tar.gz
29
+ else
30
+ echo "Pulling registry image from DockerHub"
31
+ docker pull registry:2
32
+ fi
33
+ docker run -d -p 5000:5000 --restart=always --name=registry \
34
+ -v /tmp/docker:/var/lib/registry registry:2
35
+
36
+ _pull_from_registry : &pull_from_registry
37
+ name : Pull and tag image from local registry
38
+ command : |
39
+ docker pull localhost:5000/nibabies
40
+ docker tag localhost:5000/nibabies nipreps/nibabies:latest
41
+
1
42
version : 2.1
2
43
orbs :
3
44
docker :
circleci/[email protected]
4
45
5
46
jobs :
6
47
7
48
build :
8
- environment :
9
- TZ : " /usr/share/zoneinfo/America/New_York"
10
- SCRATCH : " /scratch"
11
- machine :
12
- image : ubuntu-2004:202107-02
13
- working_directory : /tmp/src/nibabies
49
+ << : *machine_defaults
14
50
steps :
15
51
- checkout
16
52
- run :
@@ -31,26 +67,15 @@ jobs:
31
67
- /tmp/docker
32
68
- /tmp/images
33
69
- docker/install-docker-credential-helper
70
+ - run : *docker_auth
71
+ - run : *setup_docker_registry
34
72
- run :
35
- name : Docker authentication
73
+ name : Save Docker registry
36
74
command : |
37
- if [[ -n $DOCKER_PAT ]]; then
38
- echo "$DOCKER_PAT" | docker login -u $DOCKER_USER --password-stdin
39
- fi
40
- - run :
41
- name : Set up Docker registry
42
- command : |
43
- if [[ -f /tmp/images/registry.tar.gz ]]; then
44
- echo "Loading saved registry image"
45
- docker load < /tmp/images/registry.tar.gz
46
- else
47
- echo "Pulling registry image from DockerHub"
48
- docker pull registry:2
75
+ if [[ ! -f /tmp/images/registry.tar.gz ]]; then
49
76
mkdir -p /tmp/images
50
77
docker save registry:2 | gzip > /tmp/images/registry.tar.gz
51
78
fi
52
- docker run -d -p 5000:5000 --restart=always --name=registry \
53
- -v /tmp/docker:/var/lib/registry registry:2
54
79
- run :
55
80
name : Pull images
56
81
command : |
@@ -188,9 +213,7 @@ jobs:
188
213
- bcp/nipype.cfg
189
214
190
215
test_pytest :
191
- machine :
192
- image : ubuntu-2004:202107-02
193
- working_directory : /tmp/src/nibabies
216
+ << : *machine_defaults
194
217
steps :
195
218
- checkout :
196
219
path : /home/circleci/src/nibabies
@@ -218,29 +241,9 @@ jobs:
218
241
keys :
219
242
- data-v3-{{ .Branch }}-{{ .Revision }}
220
243
- docker/install-docker-credential-helper
221
- - run :
222
- name : Docker authentication
223
- command : |
224
- if [[ -n $DOCKER_PAT ]]; then
225
- echo "$DOCKER_PAT" | docker login -u $DOCKER_USER --password-stdin
226
- fi
227
- - run :
228
- name : Set-up a Docker registry
229
- command : |
230
- if [[ -f /tmp/images/registry.tar.gz ]]; then
231
- echo "Loading saved registry image"
232
- docker load < /tmp/images/registry.tar.gz
233
- else
234
- echo "Pulling registry image from DockerHub"
235
- docker pull registry:2
236
- fi
237
- docker run -d -p 5000:5000 --restart=always --name=registry \
238
- -v /tmp/docker:/var/lib/registry registry:2
239
- - run :
240
- name : Pull images from local registry
241
- command : |
242
- docker pull localhost:5000/nibabies
243
- docker tag localhost:5000/nibabies nipreps/nibabies:latest
244
+ - run : *docker_auth
245
+ - run : *setup_docker_registry
246
+ - run : *pull_from_registry
244
247
- run :
245
248
name : Run nibabies tests
246
249
no_output_timeout : 2h
@@ -279,12 +282,10 @@ jobs:
279
282
path : /tmp/data/reports
280
283
281
284
test_bcp :
282
- machine :
283
- image : ubuntu-2004:202107-02
284
- working_directory : /tmp/bcp
285
285
environment :
286
286
- FS_LICENSE : /tmp/fslicense/license.txt
287
287
- DATASET : bcp
288
+ << : *machine_defaults
288
289
steps :
289
290
- checkout :
290
291
path : /home/circleci/src/nibabies
@@ -323,29 +324,9 @@ jobs:
323
324
- bcp-anat-v0-master-
324
325
- bcp-anat-v0-
325
326
- docker/install-docker-credential-helper
326
- - run :
327
- name : Docker authentication
328
- command : |
329
- if [[ -n $DOCKER_PAT ]]; then
330
- echo "$DOCKER_PAT" | docker login -u $DOCKER_USER --password-stdin
331
- fi
332
- - run :
333
- name : Set-up a Docker registry
334
- command : |
335
- if [[ -f /tmp/images/registry.tar.gz ]]; then
336
- echo "Loading saved registry image"
337
- docker load < /tmp/images/registry.tar.gz
338
- else
339
- echo "Pulling registry image from DockerHub"
340
- docker pull registry:2
341
- fi
342
- docker run -d -p 5000:5000 --restart=always --name=registry \
343
- -v /tmp/docker:/var/lib/registry registry:2
344
- - run :
345
- name : Pull images from local registry
346
- command : |
347
- docker pull localhost:5000/nibabies
348
- docker tag localhost:5000/nibabies nipreps/nibabies:latest
327
+ - run : *docker_auth
328
+ - run : *setup_docker_registry
329
+ - run : *pull_from_registry
349
330
- run :
350
331
name : Setting up test
351
332
command : |
@@ -412,11 +393,8 @@ jobs:
412
393
path : /tmp/bcp/derivatives
413
394
414
395
deploy_docker_patches :
415
- machine :
416
- image : ubuntu-2004:202107-02
417
- working_directory : /tmp/src/nibabies
396
+ << : *machine_defaults
418
397
steps :
419
-
420
398
- run :
421
399
name : Check whether image should be deployed to Docker Hub
422
400
command : |
@@ -441,29 +419,9 @@ jobs:
441
419
- /tmp/docker
442
420
- /tmp/images
443
421
- docker/install-docker-credential-helper
444
- - run :
445
- name : Docker authentication
446
- command : |
447
- if [[ -n $DOCKER_PAT ]]; then
448
- echo "$DOCKER_PAT" | docker login -u $DOCKER_USER --password-stdin
449
- fi
450
- - run :
451
- name : Setup a Docker registry
452
- command : |
453
- if [[ -f /tmp/images/registry.tar.gz ]]; then
454
- echo "Loading saved registry image"
455
- docker load < /tmp/images/registry.tar.gz
456
- else
457
- echo "Pulling registry image from DockerHub"
458
- docker pull registry:2
459
- fi
460
- docker run -d -p 5000:5000 --restart=always --name=registry \
461
- -v /tmp/docker:/var/lib/registry registry:2
462
- - run :
463
- name : Pull images from local registry
464
- command : |
465
- docker pull localhost:5000/nibabies
466
- docker tag localhost:5000/nibabies nipreps/nibabies:latest
422
+ - run : *docker_auth
423
+ - run : *setup_docker_registry
424
+ - run : *pull_from_registry
467
425
- run :
468
426
name : Deploy to Docker Hub
469
427
no_output_timeout : 40m
@@ -472,9 +430,7 @@ jobs:
472
430
docker push nipreps/nibabies:${CIRCLE_BRANCH#docker/}
473
431
474
432
deploy_docker :
475
- machine :
476
- image : ubuntu-2004:202107-02
477
- working_directory : /tmp/src/nibabies
433
+ << : *machine_defaults
478
434
steps :
479
435
- checkout :
480
436
path : /home/circleci/src/nibabies
@@ -493,29 +449,9 @@ jobs:
493
449
- /tmp/docker
494
450
- /tmp/images
495
451
- docker/install-docker-credential-helper
496
- - run :
497
- name : Docker authentication
498
- command : |
499
- if [[ -n $DOCKER_PAT ]]; then
500
- echo "$DOCKER_PAT" | docker login -u $DOCKER_USER --password-stdin
501
- fi
502
- - run :
503
- name : Set-up a Docker registry
504
- command : |
505
- if [[ -f /tmp/images/registry.tar.gz ]]; then
506
- echo "Loading saved registry image"
507
- docker load < /tmp/images/registry.tar.gz
508
- else
509
- echo "Pulling registry image from DockerHub"
510
- docker pull registry:2
511
- fi
512
- docker run -d -p 5000:5000 --restart=always --name=registry \
513
- -v /tmp/docker:/var/lib/registry registry:2
514
- - run :
515
- name : Pull images from local registry
516
- command : |
517
- docker pull localhost:5000/nibabies
518
- docker tag localhost:5000/nibabies nipreps/nibabies:latest
452
+ - run : *docker_auth
453
+ - run : *setup_docker_registry
454
+ - run : *pull_from_registry
519
455
- run :
520
456
name : Deploy to Docker Hub
521
457
no_output_timeout : 40m
@@ -532,9 +468,7 @@ jobs:
532
468
fi
533
469
534
470
test_deploy_pypi :
535
- docker :
536
- - image : circleci/python:3.9.6
537
- working_directory : /tmp/src/nibabies
471
+ << : *python_defaults
538
472
steps :
539
473
- checkout
540
474
- run :
@@ -603,9 +537,7 @@ jobs:
603
537
path : /tmp/src/nibabies/wrapper/dist
604
538
605
539
deploy_pypi :
606
- docker :
607
- - image : circleci/python:3.9.6
608
- working_directory : /tmp/src/nibabies
540
+ << : *python_defaults
609
541
steps :
610
542
- checkout
611
543
- run :
0 commit comments