11version : 2.1
2+ parameters :
3+ cmds :
4+ type : string
5+ default : " ssl-game-controller ssl-ref-client"
6+
27jobs :
38 build_node :
49 resource_class : medium
4651 - run : |
4752 set -u
4853 version=${CIRCLE_TAG:-}
49- for cmd in ssl-game-controller ssl-ref-client ; do
54+ for cmd in ${cmds} ; do
5055 GOOS=linux GOARCH=amd64 go build -o ./release/${cmd}_${version}_linux_amd64 ./cmd/${cmd}
5156 GOOS=linux GOARCH=arm64 go build -o ./release/${cmd}_${version}_linux_arm64 ./cmd/${cmd}
5257 GOOS=linux GOARCH=arm go build -o ./release/${cmd}_${version}_linux_arm ./cmd/${cmd}
6974 - run : |
7075 set -u
7176 go install github.com/tcnksm/[email protected] 72- ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -delete ${CIRCLE_TAG} ./release
77+ ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -delete -generatenotes ${CIRCLE_TAG} ./release
7378
74- docker :
79+ build_docker :
7580 resource_class : small
7681 docker :
7782 - image : cimg/base:2023.04
@@ -80,11 +85,27 @@ jobs:
8085 - setup_remote_docker :
8186 version : 20.10.18
8287 - run : |
83- TAG=${CIRCLE_TAG:-1}
88+ for cmd in ${cmds}; do
89+ docker build -f ./cmd/${cmd}/Dockerfile -t robocupssl/${cmd}:latest .
90+ done
91+
92+ publish_docker :
93+ resource_class : small
94+ docker :
95+ - image : cimg/base:2023.04
96+ steps :
97+ - checkout
98+ - setup_remote_docker :
99+ version : 20.10.18
100+ - run : |
101+ # Parse version from tag (removing 'v' prefix)
102+ TAG=${CIRCLE_TAG:1}
84103 TAG=${TAG:-latest}
85- docker build -t robocupssl/ssl-game-controller:$TAG .
86- docker login -u "${DOCKER_HUB_USERNAME}" -p "${DOCKER_HUB_PASSWORD}"
87- docker push robocupssl/ssl-game-controller:$TAG
104+ for cmd in ${cmds}; do
105+ docker build -f ./cmd/${cmd}/Dockerfile -t robocupssl/${cmd}:${TAG} .
106+ docker login -u "${DOCKER_HUB_USERNAME}" -p "${DOCKER_HUB_PASSWORD}"
107+ docker push robocupssl/${cmd}:${TAG}
108+ done
88109
89110workflows :
90111 version : 2
@@ -106,6 +127,7 @@ workflows:
106127 filters : { branches: { ignore: /.*/ }, tags: { only: /^v.*/ } }
107128 docker :
108129 jobs :
109- - docker :
130+ - build_docker
131+ - publish_docker :
110132 context : docker hub
111133 filters : { branches: { only: master }, tags: { only: /^v.*/ } }
0 commit comments