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

Publish multi-arch image #493

Open
6 of 8 tasks
douglascamata opened this issue Jul 20, 2022 · 1 comment
Open
6 of 8 tasks

Publish multi-arch image #493

douglascamata opened this issue Jul 20, 2022 · 1 comment

Comments

@douglascamata
Copy link
Contributor

douglascamata commented Jul 20, 2022

All the Observatorium repos are currently publishing only x86_64 images.

This makes is much more difficult for folks with arm64 computers (like Apple Silicon Macbooks) to be able to contribute to the projects, as most of them use the efficientgo/e2e framework for e2e tests based on container images.

We should publish multi-arch images with at least x86_64 and arm64 architectures. Other architectures could be added in the future.

Proposal

  • Development container builds should be possible without any cross-build tooling.

  • Only release builds should be using a cross-build tool like Docker's buildx or podman (its build command supports building multi-arch images).

  • The compilation process should take advantage of the Go's amazing cross-compilation features and avoid compiling under a different architecture's QEMU. Docker has a cool article on how to do this.

Projects to migrate to multi-arch

They all have a similar approach to how container images and built and published. After one of them is migrated to multi-arch the steps to migrate the others will be mostly the same.

@douglascamata
Copy link
Contributor Author

I'll try to slowly tackle this starting by the token-refresher, because it has the less probability of being disruptive to development of other features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant