-
Notifications
You must be signed in to change notification settings - Fork 21
Add arm64 / multi-platform support #114
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
Conversation
Cool, the changes are looking good, and thanks for testing in on your fork! The only thing I'm a bit concerned is that it is not tested in any way on arm architecture (we do not use any arm runners in CI).
So hopefully should be fine BTW #113 is now merged so you can rebase this |
I enabled running CI on PRs from forked projects but not sure how to trigger the CI now 🤔 |
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 👍
Once merged, I can give the new images a try in real use cases on ARM64 and share the results here.
|
hm, interesting that your docker build passed I tried to release a new version and the docker build of the arm version fails with an error #6 [2/5] RUN apt-get update && apt-get install ca-certificates -y && apt-get clean
#6 0.237 exec /bin/sh: exec format error
#6 ERROR: process "/bin/sh -c apt-get update && apt-get install ca-certificates -y && apt-get clean" did not complete successfully: exit code: 1
------
> [2/5] RUN apt-get update && apt-get install ca-certificates -y && apt-get clean:
0.237 exec /bin/sh: exec format error
------
Dockerfile:3
--------------------
1 | FROM debian:stable-slim
2 |
3 | >>> RUN apt-get update && apt-get install ca-certificates -y && apt-get clean
4 |
5 | COPY slo_exporter /slo_exporter/
--------------------
ERROR: failed to solve: process "/bin/sh -c apt-get update && apt-get install ca-certificates -y && apt-get clean" did not complete successfully: exit code: 1
Learn more at https://goreleaser.com/errors/docker-build
make: *** [Makefile:75: release] Error 1
Exited with code exit status 2
|
The issue in the Seems the issue is described here. I would give a try to add the ...
steps:
- checkout
- run:
name: Enable run containers with different architectures
command: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
... or in the
what do you think? Meantime, I am testing it in my forked branch but not yet finished. |
Hi, right, I already found out the Using the goreleaser hook will make it work also in the local environment, so I'd rather go with that? Also, we could add |
Fixed in: #115 |
Agree, I used gorelaser hook. Also to avoid to repeat in in multiple circleci jobs.
Yes, good idea. I can add that to the PR.
|
I just opened PR with the release test here #116 PTAL |
I would like to give a feedback about SLO-Exporter performance on There is a noticed improvement in CPU and memory. Below charts are based on 18 SLO exporter pods. CPUMemoryThat is nice!! 🥳 cc: @FUSAKLA |
That's great to hear! |
Requirements for Adding, Changing, or Removing a Feature
This change add
ARM64
support to slo-exporter.Enabling ARM64 support allows it to run on ARM-based architectures, such as Apple M1/M2 chips and many cloud servers, improving compatibility and performance on these platforms. Also, It makes the image usable on a wider range of devices and environments, especially those that prioritize energy efficiency and lower cost.
Description of the Change
Extend the
goreleaser
setup to consider the multi-platforms and docker manifests.Verification Process
To verify this change:
in linux/arm64 OS/ARCH
Note: This PR branch was branched from/based on #113, as fixing the docker build was essential to validate the changes. Once merged, I can rebase this branch/PR.
Local
goreleaser release
command output: