1111 stage : Test
1212 title : Clone repository
1313 type : git-clone
14- repo : https://github.com/codefresh-io/venona
14+ repo : https://github.com/${{CF_REPO_OWNER}}/${{CF_REPO_NAME}}
1515 revision : ${{CF_BRANCH}}
1616 credentials :
1717 username : github
@@ -116,37 +116,45 @@ steps:
116116 on :
117117 - success
118118
119- compile :
120- << : *common
121- title : Compile
122- stage : Build Artifacts
123- # YAML arrays cannot be merged and flatten
124- # https://github.com/yaml/yaml/issues/35
125- # copy the variables from the download_dependencies step
126- environment :
127- - GO111MODULE=on
128- - GOSUMDB=off
129- - GOPROXY=direct
130- - GOCACHE=/codefresh/volume/gocache
131- - GOPATH=/codefresh/volume/gopath
132- - GOOS=linux
133- - GOARCH=386
134- commands :
135- - cd venona && make build
136-
137119 build_image :
138120 type : build
139121 title : Build Docker Image
140122 stage : Build Artifacts
141123 tag : ${{CF_BRANCH_TAG_NORMALIZED}}
142124 dockerfile : Dockerfile
143- working_directory : ${{main_clone}}/venona
125+ disable_push : true
126+ working_directory : ${{WORKDIR}}
144127 image_name : ${{IMAGE_NAME}}
145128 when :
146129 steps :
147- - name : compile
130+ - name : main_clone
131+ on :
132+ - success
133+
134+ run_arm_build :
135+ type : codefresh-run
136+ stage : Build Artifacts
137+ when :
138+ steps :
139+ - name : export_version
148140 on :
149141 - success
142+ arguments :
143+ PIPELINE_ID : ${{ARM_PIPELINE_ID}}
144+ DETACH : false
145+ TRIGGER_ID : venona-arm
146+ BRANCH : " ${{CF_BRANCH}}"
147+ VARIABLE :
148+ - CF_REPO_OWNER=${{CF_REPO_OWNER}}
149+ - CF_REPO_NAME=${{CF_REPO_NAME}}
150+ - CF_REVISION=${{CF_REVISION}}
151+ - CF_BRANCH=${{CF_BRANCH}}
152+ - CF_BRANCH_TAG_NORMALIZED=${{CF_BRANCH_TAG_NORMALIZED}}
153+ - IMAGE_NAME=${{IMAGE_NAME}}
154+ - WORKDIR=${{WORKDIR}}
155+ - VERSION=${{VERSION}}
156+ - RELEASE_BRANCH_NAME=${{RELEASE_BRANCH_NAME}}
157+ - ARM_TAG_POSTFIX="${{ARM_TAG_POSTFIX}}"
150158
151159 security_scan :
152160 stage : Security scan
@@ -209,24 +217,110 @@ steps:
209217 ${{SEC_SCAN_REPORT_FILE}} \
210218 s3://${{SEC_SCAN_S3_BUCKET}}/${{IMAGE_NAME}}/${{CF_REPO_NAME}}:${{VERSION}}.txt
211219
212- push :
220+ push_dev_image :
221+ type : push
222+ title : Push candidate image with dev tags
223+ stage : Push
224+ candidate : ${{build_image}}
225+ tags :
226+ - ${{VERSION}}-${{CF_BRANCH_TAG_NORMALIZED}}
227+ - ${{VERSION}}-${{CF_REVISION}}
228+ - ${{CF_REVISION}}
229+ - ${{CF_BRANCH_TAG_NORMALIZED}}
230+ image_name : ${{IMAGE_NAME}}
231+ when :
232+ branch :
233+ ignore : [ "${{RELEASE_BRANCH_NAME}}" ]
234+ steps :
235+ - name : build_image
236+ on :
237+ - success
238+ - name : export_version
239+ on :
240+ - success
241+ scale :
242+ push_quay_dev :
243+ registry : " ${{REGISTRY_INTEGRATION_QUAY}}"
244+ push_dockerhub_dev :
245+ registry : " ${{REGISTRY_INTEGRATION_DOCKERHUB}}"
246+ push_gcr_enterprise_dev :
247+ registry : " ${{REGISTRY_INTEGRATION_ENTERPRISE}}"
248+
249+ push_prod_image :
213250 type : push
214- title : Push candidate
251+ title : Push candidate image with prod tags
215252 stage : Push
216253 candidate : ${{build_image}}
217254 tags :
255+ - ${{VERSION}}
218256 - ${{VERSION}}-${{CF_BRANCH_TAG_NORMALIZED}}
219257 - ${{VERSION}}-${{CF_REVISION}}
220258 - ${{CF_REVISION}}
221259 - ${{CF_BRANCH_TAG_NORMALIZED}}
222- image_name : codefresh/venona
223- registry : dockerhub
260+ image_name : ${{IMAGE_NAME}}
224261 when :
262+ branch :
263+ only : [ "${{RELEASE_BRANCH_NAME}}" ]
225264 steps :
226265 - name : build_image
227266 on :
228267 - success
229268 - name : export_version
230269 on :
231270 - success
271+ scale :
272+ push_quay_prod :
273+ registry : " ${{REGISTRY_INTEGRATION_QUAY}}"
274+ push_dockerhub_prod :
275+ registry : " ${{REGISTRY_INTEGRATION_DOCKERHUB}}"
276+ push_gcr_enterprise_prod :
277+ registry : " ${{REGISTRY_INTEGRATION_ENTERPRISE}}"
232278
279+ create_manifest_list :
280+ stage : Push
281+ type : " codefresh-inc/multiarch-manifester"
282+ when :
283+ steps :
284+ - name : run_arm_build
285+ on :
286+ - success
287+ arguments :
288+ image_name : ${{IMAGE_NAME}}
289+ tags :
290+ - ${{VERSION}}-${{CF_BRANCH_TAG_NORMALIZED}}
291+ - ${{VERSION}}-${{CF_REVISION}}
292+ - ${{CF_REVISION}}
293+ - ${{CF_BRANCH_TAG_NORMALIZED}}
294+ arch_tag_postfixes :
295+ arm64 : " ${{ARM_TAG_POSTFIX}}"
296+ registries :
297+ - name : ' quay.io'
298+ username : ' ${{QUAY_USERNAME}}'
299+ password : ' ${{QUAY_PASSWORD}}'
300+ - name : ' docker.io'
301+ username : ' ${{DOCKERHUB_USERNAME}}'
302+ password : ' ${{DOCKERHUB_PASSWORD}}'
303+ - name : ' gcr.io'
304+ path_prefix : codefresh-enterprise
305+ username : ' ${{GCR_USERNAME}}'
306+ password : ' ${{GCR_PASSWORD}}'
307+ scale :
308+ master_branch_tags :
309+ when :
310+ branch :
311+ only : [ "${{RELEASE_BRANCH_NAME}}" ]
312+ steps :
313+ - name : push_prod_image
314+ on :
315+ - success
316+ arguments :
317+ tags :
318+ - ${{VERSION}}
319+ dev_branches_tags :
320+ when :
321+ branch :
322+ ignore : [ "${{RELEASE_BRANCH_NAME}}" ]
323+ steps :
324+ - name : push_dev_image
325+ on :
326+ - success
0 commit comments