-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: build images on PR and conditionally build arm64 image on push #8108
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
@@ -15,16 +15,6 @@ env: | |||
GOLANG_VERSION: '1.16.11' | |||
|
|||
jobs: | |||
build-docker: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding labeled
and unlabeled
types to catch adding and removing test-arm-image
label.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
publish
job 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-image
label (example: https://github.com/argoproj/argo-cd/runs/4736320242?check_suite_focus=true)release
job 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 buildx
but 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 rune2e
tests. I think it is not worth managing self-hosted runner just to build an image. Thedocker buildx
is slow but we build multi-arch image only during release and after commit is pushed so it won't slowdown PR reviews.