chore: build images on PR and conditionally build arm64 image on push#8108
chore: build images on PR and conditionally build arm64 image on push#8108alexmt merged 1 commit intoargoproj:masterfrom
Conversation
Codecov Report
@@ Coverage Diff @@
## master #8108 +/- ##
==========================================
- Coverage 41.52% 41.51% -0.01%
==========================================
Files 174 174
Lines 22707 22712 +5
==========================================
Hits 9430 9430
- Misses 11936 11941 +5
Partials 1341 1341
Continue to review full report at Codecov.
|
a34e736 to
075c8f8
Compare
8ad6f98 to
4135d5d
Compare
980ff0f to
849a87a
Compare
edcfd28 to
d969740
Compare
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
d969740 to
2d38e0f
Compare
| GOLANG_VERSION: '1.16.11' | ||
|
|
||
| jobs: | ||
| build-docker: |
There was a problem hiding this comment.
No longer needed sync image workflow will cover both PRs and push to master
| pull_request: | ||
| branches: | ||
| - master | ||
| types: [ labeled, unlabeled, opened, synchronize, reopened ] |
There was a problem hiding this comment.
Adding labeled and unlabeled types to catch adding and removing test-arm-image label.
jannfis
left a comment
There was a problem hiding this comment.
LGTM.
I do not think that this PR closes the mentioned issues tho, unless we also publish release images.
|
Release workflow is updated as well: it builds multi-arch image and uploads ARM binaries as well. |
Oh, you're right, sorry. The concern that I have with integrating buildx into release workflow is, that it takes so long to build and might fail on its way. But OK, we'll see how it goes. |
|
Ops, push failed :( Working on the fix |
Signed-off-by: Alexander Matyushentsev AMatyushentsev@gmail.com
Closes #8110
Closes #4211
Closes #7035
PR introduces building multi-arch image and ARM binaries during release as well as multi-arch image build during PRs.
publishjob runs on PR, in addition, to push, and validating image building: multi-arch image is built on push and optionally built if PR hastest-arm-imagelabel (example: https://github.com/argoproj/argo-cd/runs/4736320242?check_suite_focus=true)releasejob builds multi-arch image and attaches amd64 and arch binariesWhy
docker buildx?I've tried to configure self-hosted Github runners on ARM hosts to avoid using
docker buildxbut it appears extremely difficult to re-create exact same VM setup as cloud runners. I was able to set up a self-hosted runner that can build a docker image but could not rune2etests. I think it is not worth managing self-hosted runner just to build an image. Thedocker buildxis slow but we build multi-arch image only during release and after commit is pushed so it won't slowdown PR reviews.