-
Notifications
You must be signed in to change notification settings - Fork 20
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
Building multiarch catalogs #222
Conversation
0fb252d
to
cefaaa3
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #222 +/- ##
=======================================
Coverage 61.78% 61.78%
=======================================
Files 2 2
Lines 785 785
=======================================
Hits 485 485
Misses 249 249
Partials 51 51
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
a90c22d
to
fca19af
Compare
6877948
to
608a919
Compare
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
Signed-off-by: dd di cesare <[email protected]>
608a919
to
a7dbc46
Compare
Hi @didierofrivia looks like after the modifications made to the catalog.mk file the matrix approach is no longer required as its working fine on s390x and ppc64le. |
to latest opm tag Signed-off-by: dd di cesare <[email protected]>
$(CATALOG_DOCKERFILE): $(OPM) | ||
-mkdir -p $(PROJECT_DIR)/catalog/authorino-operator-catalog | ||
cd $(PROJECT_DIR)/catalog && $(OPM) generate dockerfile authorino-operator-catalog | ||
cd $(PROJECT_DIR)/catalog && $(OPM) generate dockerfile authorino-operator-catalog -b "quay.io/operator-framework/opm:${OPM_DOCKERFILE_TAG}" -i "quay.io/operator-framework/opm:${OPM_DOCKERFILE_TAG}" |
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.
The issue was that the dockerfile was generated by the x86 builder assigned in https://github.com/Kuadrant/authorino-operator/pull/222/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L147
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.
Thanks @didierofrivia and @R3hankhan for the hard work to crack this one!
This PR aims to solve the issue of building catalogs for different architectures using just buildah, as reported in #214 (comment) . It uses a matrix strategy in order to assert the right OPM base image is set in the catalog Dockerfile and build accordingly.
It accomplish this having 2 different jobs, the original one is kept, expanded to the other 2 missing archs, and a dedicated one was created to explicitly include the opm version and architecture desired. The later one will create additional catalog images of the form
authorino-operator-catalog:{tag}-{arch}
Notes:
It was generated with the
latest
tag ofopm
. When pulling an specific platform you get:It was generated with the
v1.48.0-{ARCH}
tag ofopm
When pulling a catalog image from the specific multi arch job:The original (now modified) job should work, since buildah is using the
latest
tag that it's built multi platform too https://quay.io/repository/operator-framework/opm?tab=tags&tag=latest... but apparently it doesn't (?) hence the explicit multi arch job. @R3hankhan123 needs to validate this.Other attempts made:
uraimo/run-on-arch-action@v2
The issue was that the dockerfile was generated by a x86 builder, instead of a multiarch one