1- version : 2
1+ version : 2.1
2+ parameters :
3+ cmds :
4+ type : string
5+ default : " ssl-auto-recorder ssl-log-player"
6+
27jobs :
3- tools :
8+ test_go :
9+ resource_class : medium
410 docker :
5- - image : cimg/go:1.18
11+ - image : cimg/go:1.20.2
612 steps :
713 - checkout
14+ - attach_workspace :
15+ at : .
816 - run : go get -v -t -d ./...
917 - run : go test -v -covermode=count -coverprofile=count.out ./...
1018 - run : go tool cover -html=count.out -o coverage.html
1119 - store_artifacts :
1220 path : coverage.html
1321 destination : coverage
1422
15- docker-auto-recorder :
23+ build_docker :
24+ resource_class : small
1625 docker :
17- - image : cimg/base:2021 .04
26+ - image : cimg/base:2023 .04
1827 steps :
1928 - checkout
2029 - setup_remote_docker :
21- version : 20.10.6
30+ version : 20.10.18
2231 - run : |
23- # remove 'ssl-auto-recorder/v'
24- TAG=${CIRCLE_TAG:19}
25- TAG=${TAG:-latest}
26- docker build -f ssl-auto-recorder.Dockerfile -t robocupssl/ssl-auto-recorder:$TAG .
27- docker login -u "${DOCKER_HUB_USERNAME}" -p "${DOCKER_HUB_PASSWORD}"
28- docker push robocupssl/ssl-auto-recorder:$TAG
32+ for cmd in << pipeline.parameters.cmds >>; do
33+ docker build -f ./cmd/${cmd}/Dockerfile -t robocupssl/${cmd}:latest .
34+ done
2935
30- docker-log-player :
36+ publish_docker :
37+ resource_class : small
3138 docker :
32- - image : cimg/base:2021 .04
39+ - image : cimg/base:2023 .04
3340 steps :
3441 - checkout
3542 - setup_remote_docker :
36- version : 20.10.6
43+ version : 20.10.18
3744 - run : |
38- # remove 'ssl-log-player/v'
39- TAG=${CIRCLE_TAG:16 }
45+ # Parse version from tag (removing 'v' prefix)
46+ TAG=${CIRCLE_TAG:1 }
4047 TAG=${TAG:-latest}
41- docker build -f ssl-log-player.Dockerfile -t robocupssl/ssl-log-player:$TAG .
42- docker login -u "${DOCKER_HUB_USERNAME}" -p "${DOCKER_HUB_PASSWORD}"
43- docker push robocupssl/ssl-log-player:$TAG
48+ for cmd in << pipeline.parameters.cmds >>; do
49+ docker build -f ./cmd/${cmd}/Dockerfile -t robocupssl/${cmd}:${TAG} .
50+ docker login -u "${DOCKER_HUB_USERNAME}" -p "${DOCKER_HUB_PASSWORD}"
51+ docker push robocupssl/${cmd}:${TAG}
52+ done
4453
4554 release :
4655 docker :
@@ -51,31 +60,17 @@ jobs:
5160
5261workflows :
5362 version : 2
54- main :
63+ build :
64+ jobs :
65+ - test_go
66+ release :
5567 jobs :
56- - tools :
57- filters :
58- tags :
59- only : /.*/
6068 - release :
6169 context : github
62- # Only run this job on git tag pushes
63- filters :
64- branches :
65- ignore : /.*/
66- tags :
67- only : /^v.*/
68- - docker-auto-recorder :
69- context : docker hub
70- filters :
71- branches :
72- ignore : /.*/
73- tags :
74- only : /^ssl-auto-recorder\/v.*/
75- - docker-log-player :
70+ filters : { branches: { ignore: /.*/ }, tags: { only: /^v.*/ } }
71+ docker :
72+ jobs :
73+ - build_docker
74+ - publish_docker :
7675 context : docker hub
77- filters :
78- branches :
79- ignore : /.*/
80- tags :
81- only : /^ssl-log-player\/v.*/
76+ filters : { branches: { only: master }, tags: { only: /^v.*/ } }
0 commit comments