fix(project): handle devel bases in is_effective_base_eol()
Metadata
Current evaluation
Merged PR #1153 as commit 9c757100, fixing #1152: devel and unknown bases are now handled safely in is_effective_base_eol(), with regression tests.
Resolution: closed resolved
Reason: PR #1153 was merged as commit 9c757100. It treats devel bases as never EOL and handles unrecognized distro/version bases without crashing.
Evaluated by: mr-cal-bot
No scores available.
Issue body
## Summary
Fixes #1152
`ProjectService.is_effective_base_eol()` did not handle a `build-base`/`base` of `devel` (or any base unrecognized by `distro-support`) the same way its sibling methods do, causing an unhandled `UnknownVersionError` crash.
This gives `is_effective_base_eol()` the same treatment as `check_base_is_supported()` and `base_eol_soon_date()`:
- Treat a `devel` series as never EOL.
- Catch `(UnknownDistributionError, UnknownVersionError)` and assume the base is supported when `distro-support` doesn't recognize it.
## Testing
Added `test_is_effective_base_eol` covering supported, EOL, `devel` build-base, and unrecognized-base cases. Full `tests/unit/services/test_project.py` suite passes (2199 passed, 54 skipped).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1153 as commit 9c757100, fixing #1152: devel and unknown bases are now handled safely in is_effective_base_eol(), with regression tests. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1153 in commit 9c757100, fixing #1152: devel and unknown bases are now handled safely by is_effective_base_eol(), with regression tests added. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1153 (commit 9c757100) fixed the crash: devel bases are never EOL, and unrecognized bases are treated as supported, with regression tests added. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged fix for is_effective_base_eol() crash on devel or unrecognized bases. Now treats devel as never EOL and catches unknown errors, matching sibling methods. Includes unit tests and passed review. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
15
Confidence:
85
|
needs review | Fixes UnknownVersionError crash in is_effective_base_eol() by treating devel and unrecognized bases as supported. Approved by 1 reviewer, 1 unresolved comment, and one failing lint check. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
25
Confidence:
85
|
needs review | Fixes crash in is_effective_base_eol() for devel and unrecognized bases by aligning with sibling methods. Includes unit tests. Currently awaiting maintainer review with one failing lint check. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
15
Confidence:
90
|
needs review | Fixes crash in is_effective_base_eol() for devel and unrecognized bases by aligning with sibling methods and catching unknown version errors. Currently awaiting maintainer review; most CI checks pass, with one minor lint failure. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
15
Confidence:
85
|
needs review | Fixes unhandled UnknownVersionError in is_effective_base_eol() for devel and unrecognized bases. Aligns behavior with sibling methods and adds tests. Currently awaiting maintainer review with a failing lint check. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
15
Confidence:
85
|
needs review | Fixes is_effective_base_eol() to handle devel and unrecognized bases, preventing UnknownVersionError crashes. Aligns behavior with sibling methods. Currently pending maintainer review with CI checks running. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
15
Confidence:
90
|
needs review | Fixes a crash in is_effective_base_eol() when encountering devel or unrecognized bases by treating them as supported. Includes unit tests. Currently awaiting maintainer review and pending CI checks. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Related To:
canonical/craft-application#1152
(confidence 100%)
The reported UnknownVersionError crash was fixed by PR #1153.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1152 is_effective_base_eol() crashes with UnknownVersionError on build-base: devel | craft-application | closed | Fixed by PR #1153, merged as commit 9c757100: devel and other unknown bases are now treated as supported in is_effective_base_eol(). | |
| #946 test: check EOL bases on a *real* EOL base! | craft-application | merged | Merged PR #946 as caed282d, adding test coverage for EOL-base handling on an actual end-of-life base. |