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

Attempt to build wkdev-sdk for multiple target platforms #16

Merged
merged 2 commits into from
May 15, 2024

Conversation

nikolaszimmermann
Copy link
Collaborator

Still WIP.

@TingPing
Copy link
Member

TingPing commented Apr 8, 2024

FWIW I was just waiting for Github Actions to have public ARM runners.

Otherwise I've been using it on my ARM laptop already.

@nikolaszimmermann nikolaszimmermann force-pushed the nzimmermann/multi-arch-containers branch from 7ede69b to 8598fc2 Compare April 9, 2024 07:51
@nikolaszimmermann
Copy link
Collaborator Author

nikolaszimmermann commented Apr 9, 2024

FWIW I was just waiting for Github Actions to have public ARM runners.

I've been toying locally with qemu-user-static + podman build --platform support, and it works just fine out of the box.
We need a way to produce e.g. armv7 32bit images or risc-v, etc. so I was looking into the qemu solution, as a general thing. Since we don't rebuild images so often I think increased build times are not a concern.

Otherwise I've been using it on my ARM laptop already.

Great to hear!

@nikolaszimmermann nikolaszimmermann force-pushed the nzimmermann/multi-arch-containers branch 2 times, most recently from 32fa14a to cc1087b Compare April 9, 2024 09:35
@TingPing
Copy link
Member

TingPing commented Apr 9, 2024

I've been toying locally with qemu-user-static + podman build --platform support, and it works just fine out of the box.

Sounds great!

@nikolaszimmermann nikolaszimmermann force-pushed the nzimmermann/multi-arch-containers branch from cc1087b to b3d525b Compare April 9, 2024 13:49
@nikolaszimmermann nikolaszimmermann force-pushed the nzimmermann/multi-arch-containers branch from b3d525b to 2c025a6 Compare April 15, 2024 07:06
Copy link
Member

@TingPing TingPing left a comment

Choose a reason for hiding this comment

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

We still need the build to consistently succeed, but all sounds good to me.

Podman allows to build multi-architecture OCI images, that combine e.g.
amd64 images + arm64 + ... in one image. Combined with qemu, one can
easily build images for foreign architectures from amd64 hosts.

Use that to extend wkdev-sdk to 'linux/arm/v7', besides the existing
'linux/amd64' support. Extend the GitHub workflow to produce
multi-architecture images. Let's see where this goes :-)
@TingPing TingPing force-pushed the nzimmermann/multi-arch-containers branch from 2c025a6 to 900ae22 Compare May 14, 2024 21:13
This fails in the cross-arch builds unfortunately.
@TingPing TingPing force-pushed the nzimmermann/multi-arch-containers branch from 900ae22 to 287aa71 Compare May 15, 2024 00:31
@TingPing
Copy link
Member

TingPing commented May 15, 2024

I believe this next build will pass 🤞

But the fact this goes from 40 minutes to 3 hours sucks... I'd like to move it to a matrix to parallelize it. It is possible to create a manifest that points to other images so it won't appear any different even if deployed separate.

@TingPing TingPing merged commit 1d74716 into main May 15, 2024
2 checks passed
@TingPing TingPing deleted the nzimmermann/multi-arch-containers branch May 15, 2024 13:36
@TingPing
Copy link
Member

This ended up getting reverted as the deploy step didn't work.

podman save -> podman load seemed to lose some contents along the way perhaps.

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.

2 participants