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

Implement multi-arch image building for registry-viewer #1548

Closed
3 tasks done
Tracked by #1608
Jdubrick opened this issue May 13, 2024 · 0 comments · Fixed by devfile/devfile-web#125
Closed
3 tasks done
Tracked by #1608

Implement multi-arch image building for registry-viewer #1548

Jdubrick opened this issue May 13, 2024 · 0 comments · Fixed by devfile/devfile-web#125
Assignees

Comments

@Jdubrick
Copy link
Contributor

Jdubrick commented May 13, 2024

Which area is this issue related to?

Issue Description

Currently the registry-viewer is able to be built for both amd64 and arm64 architectures with the use of the PLATFORM_EV environment variable being passed to build_viewer.sh. However, this environment variable was added because trying to build the image while on MacOS with arm64 for the amd64 platform an error was occuring at the yarn lockfile step. As part of this issue investigation will need to be done to determine if the yarn issue is because of the architecture arm64, or because of the combination of architecture AND being on MacOS. If it is the former then a Graviton instance should have no issue building for both amd64 and arm64.

To enable multi-arch building we should look to implement a manifest to allow consumers of the image to be able to pull either architecture. By building and pushing these images as multi-arch we will also be able to use Graviton instances for tasks related to the registry-viewer if necessary.

Below is an example from Red Hat Developer:

# First, initialise the manifest
podman manifest create <image name>

# Build the image attaching them to the manifest
podman build --platform linux/amd64,linux/arm64  --manifest <image name>  .

# Finally publish the manifest
podman manifest push <image name>

Currently the registry-viewer is being built with the help of scripts/build_viewer.sh and can be pushed with scripts/push.sh. An alteration to these scripts to include the manifest creation and building the images as multi-arch would be a possible solution to the problem.

Once the manifest is created and apart of the repository, any automation that is currently building images for this repository and pushing them should be doing so to the manifest to allow for multi-arch pulling.

Acceptance Criteria

  • Determine if yarn issue is related to arm64 (affecting both darwin and graviton) or only a Mac issue (darwin)
  • registry-viewer able to be built as multi-arch image
  • Any automations building images and pushing to quay.io should be pushing to that manifest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done ✅
1 participant