clean: introduce clean command (CRAFT-62)
Metadata
Current evaluation
Merged. Introduces a clean command to remove LXD containers built by Charmcraft and adds a caplog filter fixture for testing. Approved by two reviewers, the update modifies five files with 116 additions and 4 deletions.
Suggested action: —
No scores available.
Issue body
Initial usage will clean any LXD containers created by Charmcraft
to build the project. Future work will further extend functionality.
Add a caplog filter fixture to help with a common pattern of checking
logs for the module under test.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Introduces a clean command to remove LXD containers built by Charmcraft and adds a caplog filter fixture for testing. Approved by two reviewers, the update modifies five files with 116 additions and 4 deletions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Successfully merged a change introducing a clean command to remove LXD containers created by Charmcraft during builds. Also added a caplog filter fixture to simplify test log verification. Integrated by maintainer cjp256. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Introduces a clean command to remove LXD containers created during Charmcraft builds. Adds a caplog filter fixture to simplify log testing. Approved and merged without comments. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1046 hook: clean charmcraft images when update/remove | charmcraft | merged | Merged. Adds snap hooks to clean up deprecated charmcraft base images during updates and remove all instances and projects during uninstallation. Review clarified cleanup scope for legacy v0 resources and LXC projects. | |
| #1434 lxd: clean with no parts should only delete | snapcraft | merged | Merged. Updates snapcraft LXD handling so running clean without arguments only deletes container resources instead of executing commands inside them. Approved by one reviewer and merged. | |
| #474 charmcraft: perform LXD checks before use (CRAFT-420) | charmcraft | merged | Merged to charmcraft, adding pre-use LXD readiness and permission validation to the provider module. Consolidates existing checks, updates mocks, and improves import structure. Approved by two reviewers and passed CI. | |
| #1042 add `charmcraft purge` or `charmcraft cleanall` command to clean all instances | charmcraft | open | Feature request to add a `charmcraft purge` command to clean all LXD build containers and pip caches. Design discussion is active with multiple flag options proposed. Blocked by craft-providers#639. | |
| #466 chore: update changelog and fix local lxd craft-test | fetch-service | merged | Merged after two approvals and passing CI checks. Updates changelog and docs while fixing local craft-test for LXD inspection. Changes two files with 41 additions and 8 deletions. | |
| #1338 `charmcraft clean` doesn't clean | charmcraft | closed | Unresolved. LXD instances persist after running the command. Behavior changed but remains broken in charmcraft 3. Deferred to upstream craft-application issue #425 for resolution. | |
| #2795 docs: improve `charmcraft clean` command documentation | charmcraft | closed | Documentation improvements for the charmcraft clean command were rejected and closed after a reviewer criticized the changes as subpar. The pull request was not merged. | |
| #2078 `charmcraft clean` does not clean all platforms for charm | charmcraft | open | charmcraft clean only removes LXC containers for platforms currently listed in charmcraft.yaml, leaving stale containers for removed platforms. Reported with repro steps; linked to issue #1338 in Jan 2025, no further activity. |