fix(project): handle devel bases in is_effective_base_eol()
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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 issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1152 is_effective_base_eol() crashes with UnknownVersionError on build-base: devel | craft-application | closed | Closed. The is_effective_base_eol() crash on build-base devel was fixed by adding UnknownVersionError handling, treating unrecognized bases as supported to match sibling methods. | |
| #4523 fix(lifecycle): return correct base when using devel for build-base | snapcraft | merged | Merged fix for get_effective_base() returning devel for build-base, preventing invalid LD_LIBRARY_PATH paths. Approved by three reviewers, passed CI, and resolves #4508. Reviewers requested targeting hotfix/8.0 and discussed a core24 validator. | |
| #946 test: check EOL bases on a *real* EOL base! | craft-application | merged | Merged test changes verifying EOL bases on a real EOL base. Approved by two reviewers, passed all CI checks, and modified 7 files with 78 additions and 30 deletions. | |
| #4540 fix(lifecycle): return correct base when using devel for build-base (… | snapcraft | merged | Merged a fix to return the correct base when using devel for build-base. Approved by two reviewers, the change spans seven files. Codecov noted one uncovered line, but the pull request was successfully merged. | |
| #886 fix(check_supported_base): ESM still counts as EOL | craft-application | merged | Merged fix to check_base_is_supported that correctly classifies extended support bases as EOL. Approved by two reviewers with all CI checks passing. Maintainer bypassed a pending review to unblock related work. |