@@ -77,7 +77,8 @@ commands:
7777jobs :
7878 test :
7979 machine :
80- image : ubuntu-1604:202104-01 # machine executor necessary to run go integration tests
80+ image : ubuntu-1604:202104-01
81+ resource_class : medium
8182 steps :
8283 - checkout
8384 - install-go
8788 go get -u -v golang.org/x/lint/golint
8889 go get -u -v github.com/kyoh86/looppointer/cmd/looppointer
8990 pip3 install black aiohttp
91+ - run :
92+ name : Lint
93+ command : make lint
94+
95+ test :
96+ machine :
97+ image : ubuntu-1604:202104-01 # machine executor necessary to run go integration tests
98+ resource_class : medium
99+ steps :
100+ - checkout
101+ - install-go
90102 - run :
91103 name : Initialize Credentials
92104 command : |
@@ -112,30 +124,67 @@ jobs:
112124 name : Go Tests
113125 command : make test
114126
115- build-and-deploy :
127+ build-and-upload-cli :
116128 docker :
117129 - image : cimg/python:3.6
118- environment :
119- DOCKER_CLI_EXPERIMENTAL : enabled
130+ resource_class : medium
120131 steps :
121132 - setup_remote_docker
122133 - checkout
123134 - install-go
124- - run :
125- name : Configure Docker Buildx
126- command : |
127- docker context create custom-context --default-stack-orchestrator swarm --docker "host=$DOCKER_HOST,ca=$DOCKER_CERT_PATH/ca.pem,cert=$DOCKER_CERT_PATH/cert.pem,key=$DOCKER_CERT_PATH/key.pem"
128- docker buildx create --name builder --platform linux/amd64,linux/arm64 --use custom-context && docker buildx inspect --bootstrap
129135 - run : pip install awscli
130136 - run : make ci-build-cli
131137 - return-if-not-deployed-branch
132138 - run : make ci-build-and-upload-cli
139+
140+ build-and-push-images-amd64 :
141+ machine :
142+ image : ubuntu-2004:202101-01
143+ resource_class : medium
144+ steps :
145+ - checkout
146+ - return-if-not-deployed-branch
147+ - run :
148+ name : Build CI Images (amd64)
149+ command : make ci-build-images-amd64
150+ no_output_timeout : 40m
133151 - quay-login
134152 - run :
135- name : Build and Push CI Images
136- command : |
137- make ci-build-images
138- make ci-push-images
153+ name : Push CI Images (amd64)
154+ command : make ci-push-images-amd64
155+ no_output_timeout : 40m
156+
157+ build-and-push-images-arm64 :
158+ machine :
159+ image : ubuntu-2004:202101-01
160+ resource_class : arm.medium
161+ steps :
162+ - checkout
163+ - return-if-not-deployed-branch
164+ - run :
165+ name : Build CI Images (arm64)
166+ command : make ci-build-images-arm64
167+ no_output_timeout : 40m
168+ - quay-login
169+ - run :
170+ name : Push CI Images (arm64)
171+ command : make ci-push-images-arm64
172+ no_output_timeout : 40m
173+
174+ amend-images :
175+ docker :
176+ - image : cimg/python:3.6
177+ environment :
178+ DOCKER_CLI_EXPERIMENTAL : enabled
179+ resource_class : medium
180+ steps :
181+ - setup_remote_docker
182+ - checkout
183+ - return-if-not-deployed-branch
184+ - quay-login
185+ - run :
186+ name : Amend CI Images
187+ command : make ci-amend-images
139188 no_output_timeout : 40m
140189
141190 e2e-tests :
@@ -206,7 +255,7 @@ workflows:
206255 branches :
207256 only :
208257 - /^[0-9]+\.[0-9]+$/
209- - build-and-deploy :
258+ - build-and-upload-cli :
210259 requires :
211260 - test
212261 - build-and-deploy-approval
@@ -215,6 +264,34 @@ workflows:
215264 only :
216265 - master
217266 - /^[0-9]+\.[0-9]+$/
267+ - build-and-push-images-amd64 :
268+ requires :
269+ - build-and-upload-cli
270+ - build-and-deploy-approval
271+ filters :
272+ branches :
273+ only :
274+ - master
275+ - /^[0-9]+\.[0-9]+$/
276+ - build-and-push-images-arm64 :
277+ requires :
278+ - build-and-upload-cli
279+ - build-and-deploy-approval
280+ filters :
281+ branches :
282+ only :
283+ - master
284+ - /^[0-9]+\.[0-9]+$/
285+ - amend-images :
286+ requires :
287+ - build-and-push-images-amd64
288+ - build-and-push-images-arm64
289+ - build-and-deploy-approval
290+ filters :
291+ branches :
292+ only :
293+ - master
294+ - /^[0-9]+\.[0-9]+$/
218295 nightly :
219296 triggers :
220297 - schedule :
0 commit comments