Skip to content

fix(build)!: Remove default target - #450

Open
jedevc wants to merge 1 commit into
prod-stagingfrom
jedevc/remove-default-targets
Open

fix(build)!: Remove default target#450
jedevc wants to merge 1 commit into
prod-stagingfrom
jedevc/remove-default-targets

Conversation

@jedevc

@jedevc jedevc commented Aug 14, 2026

Copy link
Copy Markdown
Member

We're now a multi-platform shop: we support amd64 and also aarch64.

So, to support them equally - no more build defaults. We now require that when building an image the user has specified an architecture:

  • For building an image, very little changes if users have a runtime, we still default to using all of them. Users can still override it using the targets: key (or the new --arch flag).
  • For building a rom, users will now need to set the targets: key (or --arch) explicitly.

This is a breaking change, but this was originally done under my previous (wrong) assumption that ROMs would be platform-independent. They really aren't, so I think the breaking change is justified, and creates a simpler-to-understand config.

Before:

spec: v0.7
roms:
  - ./Dockerfile

After:

spec: v0.7
roms:
  - ./Dockerfile
targets:
  - kraftcloud/x86_64

@dragosgheorghioiu dragosgheorghioiu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

Reviewed-by: Dragos Gheorghioiu <dragosg@unikraft.com> 
Approved-by: Dragos Gheorghioiu <dragosg@unikraft.com>

craciunoiuc
craciunoiuc previously approved these changes Aug 14, 2026

@craciunoiuc craciunoiuc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All good here. Thanks!

Reviewed-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.com>
Approved-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.com>

We're now a multi-platform shop: we support amd64 and also aarch64.

So, to support them equally - no more build defaults. We now *require*
that when building an image the user has specified an architecture:
- For building an image, very little changes if users have a `runtime`,
  we still default to using all of them. Users can still override it
  using the `targets:` key (or the new `--arch` flag).
- For building a rom, users will now need to set the `targets:` key (or
  `--arch`) *explicitly*.

This is a breaking change, but this was originally done under my previous
(wrong) assumption that ROMs would be platform-independent. They really
aren't, so I think the breaking change is justified, and creates a
simpler-to-understand config.

Signed-off-by: Justin Chadwell <justin@unikraft.com>
@jedevc
jedevc dismissed stale reviews from craciunoiuc and dragosgheorghioiu via b8fc20d August 14, 2026 16:33
@jedevc
jedevc force-pushed the jedevc/remove-default-targets branch from 6cacc50 to b8fc20d Compare August 14, 2026 16:33

@craciunoiuc craciunoiuc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree even harder now.

Reviewed-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.com>
Approved-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.com>

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.

3 participants