Skip to content

main: provide --preview to toggle preview state (HMS-9969)#449

Merged
achilleas-k merged 1 commit intoosbuild:mainfrom
supakeen:preview-opt
Feb 6, 2026
Merged

main: provide --preview to toggle preview state (HMS-9969)#449
achilleas-k merged 1 commit intoosbuild:mainfrom
supakeen:preview-opt

Conversation

@supakeen
Copy link
Member

@supakeen supakeen commented Feb 6, 2026

main: provide `--preview` to toggle preview state

Certain image types have the notion of being in a preview state. Also
called "final", "supported", or "prerelease".

In `images`'s distribution definitions we define this flag per version
of a distribution. This means that we need to quickly do releases to
update this value before a release candidate is built (release
candidates are built as "supported").

When pungi schedules composes it knows the supported state of the
compose. Thus it is a good idea to let the preview state of a
distro be overridden by the `pungi` -> `koji` -> `image-builder`
chain.

Let's include a `--preview` argument. When the option is not passed at
all we let `images` determine the preview state (based on its
distribution definitions). When the option is passed we pass along its
value to `images` where it is then used instead of the default.

I've kept the option hidden here because it really only should be used
by build systems or advanced users (we might document its use) and not
confuse normal users; who would usually receive new distribution
definitions with the next `image-builder` release which contain the
correct preview state, though it will lag a bit in time.

This PR is based on top of #448.

I thought a bit about naming the option in a specific way that would indicate that this is an image option; however, we don't do so for other things that get passed as image options and I don't foresee this name clashing with anything else.

After this is done follow-up work is necessary in koji-image-builder and pungi itself to be able to pass this argument along.

Examples:

€ ./image-builder manifest --distro fedora-44 everything-network-installer 2>/dev/null | rg final
                        "final": false,
€ ./image-builder manifest --distro fedora-44 --preview=true everything-network-installer 2>/dev/null | rg final
                        "final": false,
€ ./image-builder manifest --distro fedora-44 --preview=false everything-network-installer 2>/dev/null | rg final
                        "final": true,
€ ./image-builder manifest --distro fedora-44 --preview everything-network-installer 2>/dev/null | rg final 
                        "final": false,

@supakeen supakeen requested a review from a team as a code owner February 6, 2026 09:50
@supakeen supakeen requested review from achilleas-k, bcl, croissanne and thozza and removed request for a team February 6, 2026 09:50
Certain image types have the notion of being in a preview state. Also
called "final", "supported", or "prerelease".

In `images`'s distribution definitions we define this flag per version
of a distribution. This means that we need to quickly do releases to
update this value before a release candidate is built (release
candidates are built as "supported").

When pungi schedules composes it knows the supported state of the
compose. Thus it is a good idea to let the preview state of a
distro be overridden by the `pungi` -> `koji` -> `image-builder`
chain.

Let's include a `--preview` argument. When the option is not passed at
all we let `images` determine the preview state (based on its
distribution definitions). When the option is passed we pass along its
value to `images` where it is then used instead of the default.

I've kept the option hidden here because it really only should be used
by build systems or advanced users (we might document its use) and not
confuse normal users; who would usually receive new distribution
definitions with the next `image-builder` release which contain the
correct preview state, though it will lag a bit in time.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
@achilleas-k achilleas-k enabled auto-merge February 6, 2026 14:54
Copy link
Contributor

@bcl bcl left a comment

Choose a reason for hiding this comment

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

Looks Good.

@achilleas-k achilleas-k added this pull request to the merge queue Feb 6, 2026
Merged via the queue into osbuild:main with commit 56ddcaa Feb 6, 2026
20 of 44 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.

3 participants