Conversation
Zerpet
left a comment
There was a problem hiding this comment.
The change is valid. Attempting to build for s390x arch before this PR resulted in an error:
error output
=> ERROR [etc-builder 2/3] RUN echo "rabbitmq-cluster-operator:x:1000:" > /etc/group && echo "rabbitmq-cluster-operator:x:1000:1000::/home/rabbitm 0.3s
------
> [etc-builder 2/3] RUN echo "rabbitmq-cluster-operator:x:1000:" > /etc/group && echo "rabbitmq-cluster-operator:x:1000:1000::/home/rabbitmq-cluster-operator:/usr/sbin/nologin" > /etc/passwd:
0.324 exec /bin/sh: exec format error
------
Dockerfile:28
--------------------
27 |
28 | >>> RUN echo "rabbitmq-cluster-operator:x:1000:" > /etc/group && \
29 | >>> echo "rabbitmq-cluster-operator:x:1000:1000::/home/rabbitmq-cluster-operator:/usr/sbin/nologin" > /etc/passwd
30 |
--------------------
ERROR: failed to solve: process "/bin/sh -c echo \"rabbitmq-cluster-operator:x:1000:\" > /etc/group && echo \"rabbitmq-cluster-operator:x:1000:1000::/home/rabbitmq-cluster-operator:/usr/sbin/nologin\" > /etc/passwd" did not complete successfully: exit code: 1
Notice exec /bin/sh: exec format error
After this PR, this builds successfully. The changes to the Dockerfile are the ground work to make it possible to build in linux s390x, however, this won't suffice to start producing images in that architecture. That will require changes to our CI, which may not be trivial.
There's also a change request to the Makefile to not build by default on s390x architecture.
|
@Joshua-Beha look at PR #1421, you have to do similar changes in CI workflow for s390. |
|
Updated to add s390x architecture image to the automation and remove s390x from being build by default from the Makefile |
|
The changes look good. There are conflicts with the |
69f259b to
eabd7c6
Compare
|
Should be rebased now |
|
@Joshua-Beha just do changes in build-test-publish.yml. Revert all other changes as they are not required |
|
Thank you! |
This closes #1396
Note to reviewers: remember to look at the commits in this PR and consider if they can be squashed
Summary Of Changes
Use docker buildx to create a multi-arch manifest that includes support for amd64 and s390x architectures.
Additional Context
NA
Local Testing
Works as expected on both s390x Kubernetes cluster and x86 Kubernetes cluster.
Please ensure you run the unit, integration and system tests before approving the PR.
To run the unit and integration tests:
You will need to target a k8s cluster and have the operator deployed for running the system tests.
For example, for a Kubernetes context named
dev-bunny: