Isolated the linters/checkers, no more shared state between them (CRAFT-383).
Metadata
Current evaluation
Merged refactoring that isolates linters and checkers to eliminate shared state, preventing failures when dependency checkers are ignored or crash. Approved by three reviewers, passed CI, and modified two files.
Suggested action: —
No scores available.
Issue body
This is to avoid having problems when a "dependency checker" is ignored (or crashes), and then the "dependent checker" is missing the needed information.
The branch is big, but there's no really a change in functionality, I just:
- separated code into a function that is now used from two places
- parsed the metadata twice in two different places
- adapted all the tests
Note that this depends on [the previous branch](https://github.com/canonical/charmcraft/pull/455).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged refactoring that isolates linters and checkers to eliminate shared state, preventing failures when dependency checkers are ignored or crash. Approved by three reviewers, passed CI, and modified two files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a refactoring that isolates linters and checkers by eliminating shared state, preventing dependency checker failures from breaking dependent checkers. Implementation splits code into reusable functions, duplicates metadata parsing, and updates tests, dependent on PR #455. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Isolates linters and checkers by removing shared state to prevent failures when dependency checkers are ignored or crash. Refactored code into independent functions, parsed metadata separately, and updated tests. Depends on PR #455. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #445 Use linters' analyze from build command (CRAFT-318) | charmcraft | merged | Merged. Integrated linter analysis into the build command to log attributes and update manifest creation. Fixed a missing integration test in checkers/analyze. Approved by reviewers and passed CI checks. | |
| #443 Don't run the ignored attributes and linters (CRAFT-326) | charmcraft | merged | Merged pull request preventing execution of ignored attributes and linters. Approved by two reviewers, the fix modifies four files with 289 additions and 22 deletions to resolve CRAFT-326. | |
| #451 Handle linters when building (CRAFT-325). | charmcraft | merged | Merged implementation for handling linters during build. The change surfaces errors and warnings, failing unless --force is passed to pack. Approved by two reviewers and depends on PR #449. | |
| #416 Created the Language checker, first step in the analyze/lint structure (CRAFT-285) | charmcraft | merged | Merged the language checker, establishing the initial analyze/lint structure. Approved by two reviewers after addressing 18 comments, the change adds 168 lines across two files for CRAFT-285. |