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

feat: add manifest / multi-arch selection support #356

Merged
merged 1 commit into from
Apr 27, 2024

Conversation

cdrage
Copy link
Contributor

@cdrage cdrage commented Apr 19, 2024

feat: add manifest / multi-arch selection support

What does this PR do?

  • Manifests are now listed, inspected and propagated within the Build
    page
  • Simply select a manifest, select the arch and it will build

Screenshot / video of UI

Screen.Recording.2024-04-19.at.5.29.42.PM.mov

What issues does this PR fix or reference?

Closes #324

How to test this PR?

Follow the video above, or do the following tests:

  1. Build a manifest within Podman Desktop (select two architectures, and
    build a bootc image). Must use the latest Podman Desktop
  2. Select the manifest within the extension and see it build.

Signed-off-by: Charlie Drage [email protected]

@cdrage cdrage requested a review from a team as a code owner April 19, 2024 21:22
@cdrage cdrage force-pushed the manifest-support branch 2 times, most recently from 5d685f1 to 6cc869b Compare April 19, 2024 21:23
@cdrage cdrage changed the title feat: add manifest / multi-arch selection support [POC / DO NOT MERGE YET ] feat: add manifest / multi-arch selection support Apr 19, 2024
@cdrage
Copy link
Contributor Author

cdrage commented Apr 19, 2024

IMPORTANT NOTES

There are moving parts that need to be done before this merges:

However, this is ready for review and testing (see changes in the last commit) 💯

packages/backend/src/container-utils.ts Show resolved Hide resolved
packages/frontend/src/Build.spec.ts Outdated Show resolved Hide resolved
packages/backend/src/api-impl.ts Outdated Show resolved Hide resolved
@cdrage cdrage force-pushed the manifest-support branch 6 times, most recently from f016b0b to a523999 Compare April 25, 2024 15:27
@cdrage cdrage changed the title [POC / DO NOT MERGE YET ] feat: add manifest / multi-arch selection support feat: add manifest / multi-arch selection support Apr 25, 2024
@cdrage
Copy link
Contributor Author

cdrage commented Apr 25, 2024

Removed the WIP title and this is ready for a preliminary review.

However.. don't merge until osbuild/images#595 is closed and completed, and this PR has an updated bib image.

MERGED! Ready for review.

### What does this PR do?

* Manifests are now listed, inspected and propagated within the Build
  page
* Simply select a manifest, select the arch and it will build

### Screenshot / video of UI

<!-- If this PR is changing UI, please include
screenshots or screencasts showing the difference -->

### What issues does this PR fix or reference?

<!-- Include any related issues from Podman Desktop
repository (or from another issue tracker). -->

Closes podman-desktop#324

### How to test this PR?

<!-- Please explain steps to reproduce -->

Follow the video above, or do the following tests:

1. Build a manifest within Podman Desktop (select two architectures, and
   build a bootc image). Must use the latest Podman Desktop
2. Select the manifest within the extension and see it build.

Signed-off-by: Charlie Drage <[email protected]>
@cdrage cdrage force-pushed the manifest-support branch from 04b744b to 7be240c Compare April 27, 2024 00:37
@cdrage
Copy link
Contributor Author

cdrage commented Apr 27, 2024

osbuild/bootc-image-builder#397 has been merged!

This PR is ready for review!

Please throughly test building a manifest from within Podman Desktop, and test it out with bootc (build both arm64 and amd64 please!)

Copy link
Contributor

@deboer-tim deboer-tim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work Charlie!

I was able to build several manifests using Podman Desktop 1.10, and they were as seamless (just twice as long!) as building for one platform.

I've verified the Build page automatically makes the correct platform(s) available as you switch between various images of either platform, or a multi-arch manifest.

I've verified that using a manifest and picking the ARM option builds and creates a usable image. Picking the AMD option clearly builds a different disk image and takes longer. I haven't had a chance to try running the built image on an AMD machine, but since that's not directly part of this PR I'm happy to approve already.

@cdrage cdrage merged commit 5cada59 into podman-desktop:main Apr 27, 2024
5 checks passed
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

Successfully merging this pull request may close these issues.

Multi-arch support: Detect manifest, extract which image to be used and then build with bib
2 participants