← Back to issue list

`ProjectService` needs to be runtime configurable to determine whether ESM bases count as supported

View original Github issue

Metadata

Project
craft-application
Number
#909
Type
issue
State
open
Author
lengau
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Triaged enhancement remains open: runtime-selected Pro services still do not affect ProjectService support checks, so ESM bases are rejected unless users bypass the unmaintained-base check.

Suggested action: keep open

Reason: The issue has a Status: Triaged label and a maintainer-defined goal. At the inspected revision, ProjectService stores _pro_services, but check_base_is_supported still calls _is_supported_on() with today's date and has no ESM-aware branch; PR #886 established the default ESM-is-EOL behavior, while PR #898 added the --ignore=unmaintained fallback. The exact ESM-versus-Pro end-of-support cutoff remains somewhat ambiguous.

Evaluated by: mr-cal-bot

Impact: 48 Quick Win: 16 Complexity: 52 Confidence: 91 Actionability: 70

Issue body

### What needs to get done When someone uses [`ProjectService.check_base_is_supported`](https://github.com/canonical/craft-application/blob/395771748cd6ce89aec80a69805d8082aaf21262/craft_application/services/project.py#L673), it currently errors if the base is ESM. This needs to be configurable though, so that when requested we count ESM bases as supported. ### Why it needs to get done So that the WIP `--pro` feature for Rockcraft can set ESM support (or perhaps the end of pro support? Could these differ @cjdcordeiro?) as the cut-off date for `--ignore=unmaintained`

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 48
Quick Win: 16
Complexity: 52
Confidence: 91
Actionability: 70
keep open Triaged enhancement remains open: runtime-selected Pro services still do not affect ProjectService support checks, so ESM bases are rejected unless users bypass the unmaintained-base check.
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 21
Complexity: 25
Confidence: 85
Actionability: 80
keep open Enhancement to make ProjectService.check_base_is_supported configurable to treat ESM bases as supported when Ubuntu Pro ESM services are enabled.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 24
Staleness: 65
Complexity: 40
Confidence: 75
Support Request: 0
keep open Enhancement: ProjectService.check_base_is_supported should be runtime-configurable so ESM bases count as supported, enabling Rockcraft's --pro feature to use ESM support as the --ignore=unmaintained cut-off. Triaged, open, no activity since creation ~11 months ago.
qwen/qwen3.6-35b-a3b
Staleness: 75
Complexity: 40
Confidence: 85
Support Request: 10
keep open Enhancement to make ProjectService base support checking configurable for ESM bases. Currently triaged but inactive for ~10 months with only a Jira sync comment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 78
Complexity: 40
Confidence: 75
Support Request: 10
keep open Enhancement to make ProjectService.check_base_is_supported runtime configurable for ESM base support. Currently triaged but inactive for 295 days.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-application#886 (confidence 95%)

    Merged fix deliberately retained ESM bases as EOL by default, establishing the behavior this enhancement must make configurable.

  • Related To: canonical/craft-application#898 (confidence 90%)

    Updated lifecycle handling for unmaintained bases and added the --ignore=unmaintained workaround that Pro ESM builds should not need.

  • Related To: canonical/craft-application#1047 (confidence 84%)

    Pro support was finalized and selected services are now passed into ProjectService, but the base support check still does not consume that configuration.

Related issues

No related issues found above the similarity threshold.