feat(lifecycle)!: don't build on incompatible bases
Metadata
Current evaluation
Merged PR #263 (b916620e) added lifecycle checks preventing destructive builds when the stored BuildInfo base is incompatible with the host; it fixes #154.
Resolution: closed resolved
Reason: Merged PR #263, commit b916620e, added compatibility checks for destructive builds: devel bases require matching systems, while other bases require matching system and version. The PR explicitly states it fixes issue #154.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The Lifecycle service will now check whether the build's base (as stored in the BuildInfo) matches the running environment. This doesn't affect managed runs (barring bugs), but is a change in behavior as we will no longer build, say, Ubuntu 22.04 artifacts on Fedora hosts in destructive mode.
We define "matches" here as this:
- If the build base is "devel", then only the systems have to match. For instance, you can build a "devel" Ubuntu-based artefact on any Ubuntu system, but not on a Fedora system.
- Otherwise, both the base's system and version must match, such that it is no longer possible to build ubuntu@22.04 on (say) ubuntu@20.04 systems.
Fixes #154
- [ ] Have you followed the guidelines for contributing?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `tox`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #263 (b916620e) added lifecycle checks preventing destructive builds when the stored BuildInfo base is incompatible with the host; it fixes #154. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #263 (b916620e), adding lifecycle host/base compatibility checks so destructive builds reject mismatched OS versions; fixes #154. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #263 (b916620e), preventing destructive builds with bases incompatible with the host and fixing #154. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged following reviewer approval and CI passes. Introduces a base compatibility check in the Lifecycle service to block builds on mismatched host OS environments, resolving issue #154. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/craft-application#154
(confidence 100%)
The merged PR explicitly identifies #154 as fixed.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #251 feat(lifecycle)!: don't build on incompatible bases | craft-application | closed | Closed unmerged in favour of canonical/craft-application#263, which merged as commit b916620e adding the Lifecycle base/host compatibility check and fixing issue #154. | |
| #2569 lifecycle: warn about bases | snapcraft | merged | Merged PR #2569 added lifecycle warnings for projects missing a base or using an incompatible host, resolving LP #1774012. | |
| #898 feat(lifecycle): update UX for unmaintained bases | craft-application | merged | Merged PR #898 as commit 2ed7aae7, updating lifecycle UX for unmaintained bases and adding --ignore=unmaintained support. | |
| #154 Destructive mode runs should fail if the project's base doesn't match the host environment | craft-application | closed | Destructive lifecycle builds now fail when the build plan base is incompatible with the host; fixed by merged PR #263 (commit b916620e). |