Skip to content
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

Multi-arch docker images (arm64/amd64) #10986

Closed
6 tasks done
megglos opened this issue Nov 14, 2022 · 7 comments
Closed
6 tasks done

Multi-arch docker images (arm64/amd64) #10986

megglos opened this issue Nov 14, 2022 · 7 comments
Assignees
Labels
component/build-pipeline kind/feature Categorizes an issue or PR as a feature, i.e. new behavior

Comments

@megglos
Copy link
Contributor

megglos commented Nov 14, 2022

@megglos megglos added the kind/feature Categorizes an issue or PR as a feature, i.e. new behavior label Nov 14, 2022
@megglos megglos changed the title Build Multi-arch docker images for the arm64/amd64 architectures Multi-arch docker images for the arm64/amd64 architectures Nov 14, 2022
@npepinpe
Copy link
Member

Prototype PR to have ARM64 runners for CI: https://github.com/zeebe-io/infra/pull/6. This would simplify building and testing the images, as the prototype above is quite slow when running everything through qemu (and, I would say, more complex).

Additionally, you could then extend the existing smoke-test job matrix to include running smoke tests on these. This is slightly out of scope here, since this is testing the local bare metal build, but still has value for macOS contributors. Perhaps a stretch goal, though it's a pretty low hanging fruit, I think.

@akkie
Copy link

akkie commented Nov 15, 2022

Maybe not the right place to ask here, but is it also considered to release ARM images for the ui applications like Operate and Optimize?

@megglos
Copy link
Contributor Author

megglos commented Nov 15, 2022

Hey @akkie, yes that's considered, issues for each of those applications are getting created on each of the repos, e.g. https://github.com/camunda/operate/issues/3674 for Operate.

@megglos megglos changed the title Multi-arch docker images for the arm64/amd64 architectures Multi-arch docker images (arm64/amd64) Nov 15, 2022
zeebe-bors-camunda bot added a commit that referenced this issue Nov 24, 2022
11040: ci(smoke-test): multi-arch container smoke test r=megglos a=megglos

## Description

Docker builds and smoke tests are only run on Linux machines as building docker containers on macOS and windows runners introduces complexity to the CI setup that we consider not worth the effort:
- macOS runners require the setup of [colima as a docker runtime](actions/runner-images#6216) which adds another 1.5-2m to the runtime
- on macOS testcontainers failed to detect the docker environment unless [additional environment variables](https://www.testcontainers.org/features/configuration/#customizing-docker-host-detection) have been set 
- some docker related actions are not supported on windows runners like [`docker/build-push-action`](docker/build-push-action#18 (comment))
- the docker setup on Githubs windows runners seems to be bound to the `windows/amd64` platform, see e.g. this [log](https://github.com/camunda/zeebe/actions/runs/3500015748/jobs/5862231609)

Usage of native arm64 runners is listed as a separate sub-task on #10986.


## Related issues

closes #11020



Co-authored-by: Meggle (Sebastian Bathke) <sebastian.bathke@camunda.com>
Co-authored-by: Sebastian Bathke (Meggle) <sebastian.bathke@camunda.com>
@megglos megglos self-assigned this Nov 24, 2022
@namero999
Copy link

Seems like the only open subtask for this ticket is documentation. Is there any way we can preview the arm images while we wait for this ticket to be closed?

@npepinpe
Copy link
Member

npepinpe commented Jan 2, 2023

The SNAPSHOT images already support both architectures. The next release (8.2.0), scheduled around April, will also have both architectures. I'm not aware of any plans to backport this, but I could be wrong (@megglos will know better)

@namero999
Copy link

Thanks for the info!

I've modified my docker-compose.yml file to point to image: camunda/zeebe:SNAPSHOT (both zeebe and operate)... will test, but the containers seems to fire up without any warning.

@megglos
Copy link
Contributor Author

megglos commented Jan 4, 2023

The SNAPSHOT images already support both architectures. The next release (8.2.0), scheduled around April, will also have both architectures. I'm not aware of any plans to backport this, but I could be wrong (@megglos will know better)

@namero999 the upcoming 8.2.0-alpha3 release (Jan 9th) already offers arm64 images.
We have no plans of back-porting this yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/build-pipeline kind/feature Categorizes an issue or PR as a feature, i.e. new behavior
Projects
None yet
Development

No branches or pull requests

5 participants