feat(lifecycle): conditionally enable partitions
Metadata
Current evaluation
Merged PR #4493 enabled partitions for devel/core24+ projects with components, added component lifecycle variables, and fixed #4463 and #4465; it replaced #4487.
Resolution: closed resolved
Reason: PR #4493 was approved and merged, implementing component-defined partitions and SNAPCRAFT_COMPONENT_* lifecycle variables for devel/core24+. Its resolution explicitly fixes snapcraft#4463 and snapcraft#4465 and replaces draft PR snapcraft#4487.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
- Conditionally enable partitions if components are defined and base is `devel`, `core24`, or newer
- Create partitions from components
- Create envvars for partitions (e.g. `SNAPCRAFT_COMPONENT_<name>_STAGE`)
TODO:
- [x] improve spread test to the partitions are created and `stage`, `prime`, and `organize` keywords work as-expected
Replaces #4487
Fixes #4463
Fixes #4465
(CRAFT-2307)
(CRAFT-2311)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4493 enabled partitions for devel/core24+ projects with components, added component lifecycle variables, and fixed #4463 and #4465; it replaced #4487. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4493 enabled partitions for component-defined projects, created component partitions and environment variables, and fixed #4463 and #4465. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #4493, enabling partitions for component-defined devel/core24+ projects, creating component partitions and partition environment variables; fixes #4463 and #4465. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #4493 added conditional component-based partitions for devel/core24+ projects, partition env vars, and core22 component support; it replaced #4487 and closed #4463/#4465. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #4493, adding component-defined partitions for devel/core24+ and partition environment variables; fixes #4463 and #4465 and replaces #4487. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval and CI checks. Conditionally enables partitions for components on core24 or newer bases, generates partitions from definitions, and adds environment variables. Resolves #4463 and #4465. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after fixing spread test failures. Conditionally enables partitions for components on devel and core24+ bases, generates partitions from components, adds partition environment variables, and adds core22 component support. Resolves #4463 and #4465. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#4463
(confidence 100%)
Enabled craft-parts partitions and was fixed by merged PR #4493.
-
Related To:
snapcraft#4465
(confidence 100%)
Component-created partitions and coverage were delivered by PR #4493.
-
Related To:
snapcraft#4487
(confidence 100%)
Draft partition-enablement PR explicitly replaced by #4493.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4463 Enable craft-parts partitions feature | snapcraft | closed | Partitions support landed in merged PR #4493 (commit 070c7e995), enabling partition-backed component lifecycle data and completing #4463. | |
| #292 feat: expose partitions to the lifecycle service | craft-application | merged | Merged PR #292 in commit a3488853, exposing project partitions to LifecycleManager so lifecycle operations can use configured prime partitions. | |
| #4465 Create partitions for components | snapcraft | closed | Component partition support was added by merged PR #4493 (commit 070c7e995), enabling partitions for component projects and covering the requested behavior. | |
| #4487 [DRAFT] feat: enable partitions | snapcraft | closed | Draft PR #4487 was closed unmerged and replaced by #4493, which conditionally enabled partitions and fixed #4463; implementation landed in commit 070c7e995. | |
| #489 partitions: add feature and validation | craft-parts | merged | Merged as commit d363fa7c, adding the opt-in partitions feature to LifecycleManager/Dirs, partition name validation with new partition errors, and integration tests for CRAFT-1843. Follow-up PRs #493, #497 and #517 extended it. | |
| #4700 feat: partitions for core24 | snapcraft | merged | Merged PR #4700 added core24 partition and component support across 16 files, resolving #4649 in commit 070c7e995. | |
| #1699 feat: partitions always enabled | craft-parts | open | Maintainer refactor merging the enabled/disabled partition code paths so partitions are always active with a default-only fallback. +699/-603 across 43 files; rebased 11 days ago, unreviewed, no approvals, one CI job failing. |