← Back to issue list

The pull step is not marked as dirty when the source of the dump plugin is changed

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1647877
Type
issue
State
closed
Author
~elopio
Labels
dirty
Created
Updated
Closed

Current evaluation

Local-source dirty tracking was added in canonical/snapcraft#2167, commit 39c4c39f1, resolving missed rebuilds after files changed under `.`.

Resolution: closed resolved

Reason: Snapcraft later implemented lifecycle detection of local source changes in PR #2167, merged as commit 39c4c39f1. This ensures added or modified local files invalidate the pull step and trigger rebuilding.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Lets say that I have a snapcraft.yaml that uses the dump plugin, and . as the source. I run snapcraft here, and then add a file to the root directory. If I run snapcraft again, the new file will not be added to the prime directory because it thinks that nothing has changed and won't run any step. To reprodude: Write this into snapcraft.yaml: name: my-snap-name version: '0.1' summary: test description: test parts: my-part: plugin: dump Run snapcraft. $ touch test.file Run snapcraft again. $ snapcraft [...] Skipping pull my-part (already ran) Skipping build my-part (already ran) Skipping stage my-part (already ran) Skipping prime my-part (already ran) Snapping 'my-snap-name' | Snapped my-snap-name_0.1_amd64.snap Note that no step was executed. $ ls prime/ meta The test.file is not in the snap.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Local-source dirty tracking was added in canonical/snapcraft#2167, commit 39c4c39f1, resolving missed rebuilds after files changed under `.`.
stealth/space-bunny-alpha — closed resolved Fixed by detecting changes to local sources and dirtying affected steps in canonical/snapcraft#2167 (commit 39c4c39f1).
stealth/space-bunny-alpha — closed resolved Fixed pull-step dirty detection when a dump part's source changes. Commit da1411df0 (PR #448) makes changed source files trigger the skipped lifecycle steps.
qwen/qwen3.6-35b-a3b — — Closed without resolution. The dump plugin fails to mark the pull step as dirty when source files change, causing subsequent builds to skip and omit new files.
qwen/qwen3.6-35b-a3b — — Abandoned. The dump plugin failed to mark the pull step as dirty when source files changed, causing new files to be excluded from the snap.
qwen/qwen3.6-35b-a3b — — Abandoned. The bug prevents snapcraft from detecting source changes in dump plugin parts, causing skipped steps and missing files in the final snap.
qwen3.6-35b-a3b-mtp-q6 — — Abandoned. The dump plugin fails to mark the pull step dirty when source files change, causing snapcraft to skip execution and omit new files from the prime directory.

Update history

Date Change
created

Related work

  • Likely Fixed By: canonical/snapcraft#2167 (confidence 98%)

    Commit 39c4c39f1 implemented detection of changes to local sources.

  • Duplicate Of: snapcraft (launchpad)#1647907 (confidence 88%)

    Maintainers identified this as part of the broader dirty-step cleanup and rebuild problem.

Related issues

Issue Project State Summary Similarity
#448 Detect dirty pull step. snapcraft merged Merged dirty pull-step detection in snapcraft#448 (commit da1411df0), completing LP #1477904 by flagging pull-related YAML changes for explicit cleaning.
77%
#817 Local file changes are not detected craft-parts open Triaged enhancement to mark dump-plugin pull steps dirty when local sources change, including permission-only edits; a maintainer confirmed in 2026 that it remains unimplemented.
71%