Right now the spec prohibits an update from e.g. run:1.1 to run:1.2 (unless force: true is used) , with this statement
- Else if
<force> is false, the provided MUST be found inrunImage.imageorrunImage.mirrors`
This breaks reproducible builds (and rebases), because it enforces to use a floating tag run image in the builder.toml.
While I can see value in preventing accidental rebases from e.g. ubuntu:22.04 to ubuntu:24.04 based run images, it is a severe limitation for stacks (aka build and run images) that use semver properly and would represent the example as run:1.1 being based on ubuntu:22.04 and then of course going for run:2.0 for an ubuntu:24.04 bump.
See also the discussion on Slack.
Right now the spec prohibits an update from e.g.
run:1.1torun:1.2(unlessforce: trueis used) , with this statementThis breaks reproducible builds (and rebases), because it enforces to use a floating tag run image in the
builder.toml.While I can see value in preventing accidental rebases from e.g.
ubuntu:22.04toubuntu:24.04based run images, it is a severe limitation for stacks (aka build and run images) that use semver properly and would represent the example asrun:1.1being based onubuntu:22.04and then of course going forrun:2.0for anubuntu:24.04bump.See also the discussion on Slack.