← Back to issue list

Use Craft Application's Linter Service

View original Github issue

Metadata

Project
snapcraft
Number
#5542
Type
issue
State
closed
Author
sergiusens
Labels
Bounty
Created
Updated
Closed

Current evaluation

Closed by mr-cal (2026-01-21) as a bounty with no implementation. craft-application#907 (commit a76bcaa6) merged the shared Linter Service, and the migration work was moved to charmcraft#2546, still open.

Resolution: closed superseded

Reason: Maintainer @mr-cal closed the bounty on 2026-01-21 after noting it was blocked on the craft-application Linter Service. That framework landed via craft-application#907 (commit a76bcaa6), and the actual linter migration effort was carried forward in charmcraft#2546, which remains open with Charmcraft's 11 custom checkers still on AnalysisService.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Migrate to the Linter Service as implemented at https://github.com/canonical/craft-application/issues/782 #### Acceptance criteria * All linters are implementations of the Craft Application class * The lint command uses the LinterService * Any other uses of linters use the LinterService ### Why it needs to get done Snapcraft and Charmcraft lint snaps and charms respectively at the end of the lifecycle. These linters don’t share common code and don’t have a similar UX. Additionally, there isn’t a way to add linters to other *craft apps without significant code duplication.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Closed by mr-cal (2026-01-21) as a bounty with no implementation. craft-application#907 (commit a76bcaa6) merged the shared Linter Service, and the migration work was moved to charmcraft#2546, still open.
stealth/space-bunny-alpha — closed superseded LinterService bounty closed without implementation; migration moved to charmcraft#2546 after the shared framework merged in craft-application#907.
stealth/space-bunny-alpha — closed stale Bounty closed without implementing the LinterService migration after an upstream dependency. The framework merged in craft-application#907; migration is now tracked in charmcraft#2546.
stealth/space-bunny-alpha — closed stale Bounty closed without migration after waiting on craft-application#782; its LinterService framework later merged in #907, with follow-up work tracked in charmcraft#2546.
qwen/qwen3.6-35b-a3b — — Abandoned without implementation. Migrating linters to the Craft Application LinterService was blocked by the upstream dependency, and the associated $400 bounty was closed.
qwen/qwen3.6-35b-a3b — — The bounty to migrate linters to the Craft Application Linter Service was closed without implementation. Maintainers blocked progress pending an upstream dependency, and the bounty expired without a merged solution.
qwen3.6-35b-a3b-mtp-q6 — — Migrating linters to a shared Craft Application service was proposed as a bounty task. The bounty and issue were abandoned without implementation due to a blocked dependency.

Update history

No update history recorded yet.

Related work

  • Blocked By: craft-application#907 (confidence 90%)

    Merged PR delivering the shared linter service framework (a76bcaa6) that had blocked this bounty.

  • Superseded By: charmcraft#2546 (confidence 88%)

    The 'Use Craft Application's Linter Service' migration is tracked there and remains open.

Related issues

Issue Project State Summary Similarity
#2315 Use Craft Application's Linter Service charmcraft closed LinterService bounty closed without implementation; craft-application#907 delivered the shared service, and Charmcraft migration was retriaged as canonical/charmcraft#2546.
94%
#2546 Use Craft Application's Linter Service charmcraft open Charmcraft’s triaged refactor to adopt Craft Application’s merged LinterService remains open; 11 custom checkers still run through Charmcraft’s AnalysisService.
83%
#5971 Use Craft Application's Linter Service snapcraft open Triaged refactor to replace Snapcraft's bespoke linter runner and reporting with Craft Application's LinterService; the prerequisite is merged, but migration remains unimplemented.
82%
#141 Add a basic linter service craft-application closed Implemented the extensible linter framework in craft-application by merging PR #907 (commit a76bcaa6), providing shared linter registration and execution for downstream apps.
79%
#907 feat(linter): add linter service framework craft-application merged Merged PR #907 as commit a76bcaa6, adding a shared Linter Service for consistent downstream registration and execution of linters and closing craft-application#782.
77%
#782 New Linter Service craft-application closed Merged PR #907 (commit a76bcaa6), adding AbstractLinter, LinterService, Testcraft integration, and linter-author documentation; this completed the bounty and closed #782.
71%