feat: Add arm version of build and publish roms - #447
Conversation
de60c36 to
3ee49a7
Compare
| Input string `arg:"" default:"." help:"Path to the input directory."` | ||
| Output string `short:"o" help:"Output destination"` | ||
| Arch string `help:"Architecture to build for (x86_64 or arm64). Defaults to the Kraftfile targets, or x86_64."` | ||
| Replace bool `help:"Publish only the architecture that was built, dropping any others already published under the destination tag."` |
There was a problem hiding this comment.
If you ask me I would reverse this?
By default it should replace and if asked it should append to an artifact
There was a problem hiding this comment.
so i replaced with an append flag but a multiarch build with a Dockerfile rootfs would look like this
unikraft build . --arch x86_64 -o org/debian-ssh:latest
unikraft build . --arch arm64 -o org/debian-ssh:latest --append
not sure if replace should be the default
There was a problem hiding this comment.
hmm, then why not just unikraft build . -o org/debian-ssh:latest
Under the hood it would fetch all permutations and then build for each (and append each time)
6fe8acc to
fb540af
Compare
| Input string `arg:"" default:"." help:"Path to the input directory."` | ||
| Output string `short:"o" help:"Output destination"` | ||
| Arch string `help:"Only build the Kraftfile targets of this architecture (x86_64 or arm64). Defaults to every target, or x86_64 when none are declared."` | ||
| Append bool `help:"Keep the platforms already published under the destination tag instead of publishing only what was built."` |
There was a problem hiding this comment.
This is racy right? If I run two jobs here, and they both try to push at the same time, they're gonna overwrite each other.
Dunno the solution, but maybe we allow unikraft image copy to take multiple sources? Then we can push to separate tags, and then create a multi-platform image. This is a reasonably common approach.
(or we make multi-platform builds actually work, so you just need one unikraft build to solve it)
There was a problem hiding this comment.
Mm, I will make the latter work. So unikraft build just does it.
There was a problem hiding this comment.
my idea was to just run buildkit for every arch maybe that can avoid that bug
There was a problem hiding this comment.
Okay, here we go. #448
(yeah it's exactly that solution)
Signed-off-by: Dragos Gheorghioiu <dragosg@unikraft.com>
c2ded2e to
0503950
Compare
Signed-off-by: Dragos Gheorghioiu <dragosg@unikraft.com>
No description provided.