wip: circle context. filter to relevent branches
- use a circleci context to provide dockerhub credentials - use a yaml alias to reduce repetition for branch filters (thanks @Mr0grog) - limit docker-push step from test workflow to only run on relevant branches License: MIT Signed-off-by: Oli Evans <oli@tableflip.io>
Oli Evans committed
Mar 6, 2020 at 10:01 UTC
37dcb2d4e2b5af157dc9c022a85c7ea90d6e7554
2 files changed
+25
-21
.circleci/config.yml
+24
-18
@@ -16,6 +16,11 @@ aliases:
16
paths:
17
- ~/go/pkg/mod
18
- ~/.cache/go-build/
19
+ only-version-tags: &only-version-tags
20
+ tags:
21
+ only: /^v[0-9].*/
22
+ branches:
23
+ ignore: /.*/
24
25
default_environment: &default_environment
26
SERVICE: circle-ci
@@ -359,15 +364,23 @@ workflows:
364
- build
365
- docker-build
366
- docker-push:
367
+ # Requires dockerhub credentials, from circleci context.
368
+ context: dockerhub
369
requires:
363
- - docker-build
364
- - golint
365
- - gotest
366
- - sharness
367
- - interop
368
- - go-ipfs-api
369
- - go-ipfs-http-client
370
- - ipfs-webui
370
+ - docker-build
371
+ - golint
372
+ - gotest
373
+ - sharness
374
+ - interop
375
+ - go-ipfs-api
376
+ - go-ipfs-http-client
377
+ - ipfs-webui
378
+ filters:
379
+ branches:
380
+ only:
381
+ - master
382
+ - release
383
+ - feat/stabilize-dht
384
385
# NOTE: CircleCI only builds tags if you explicitly filter for them. That
386
# also means tag-based jobs can only depend on other tag-based jobs, so we
@@ -376,16 +389,9 @@ workflows:
389
docker-on-tag:
390
jobs:
391
- docker-build:
379
- filters:
380
- tags:
381
- only: /^v[0-9].*|^cluster.+/
382
- branches:
383
- ignore: /.*/
392
+ filters: *only-version-tags
393
- docker-push:
394
+ context: dockerhub
395
+ filters: *only-version-tags
396
requires:
397
- docker-build
387
- filters:
388
- tags:
389
- only: /^v[0-9].*|^cluster.+/
390
- branches:
391
- ignore: /.*/
bin/push-docker-tags.sh
+1
-3
@@ -61,9 +61,6 @@ pushTag () {
61
if [[ $GIT_TAG =~ ^v[0-9]+ ]]; then
62
pushTag "$GIT_TAG"
63
64
-elif [[ $GIT_BRANCH =~ ^cluster ]]; then
65
- pushTag "$GIT_BRANCH"
66
-
64
elif [ "$GIT_BRANCH" = "feat/stabilize-dht" ]; then
65
pushTag "bifrost-${BUILD_NUM}-${GIT_SHA1_SHORT}"
66
pushTag "bifrost-latest"
@@ -73,6 +70,7 @@ elif [ "$GIT_BRANCH" = "release" ]; then
70
pushTag "latest"
71
72
elif [ "$GIT_BRANCH" = "master" ]; then
73
+ pushTag "master-${BUILD_NUM}-${GIT_SHA1_SHORT}"
74
pushTag "master"
75
76
else