feat(executor): check for stage file collisions in each partition
Metadata
Current evaluation
Merged. Adds stage file collision checks per partition to fix issue #633. Includes refactored unit tests and new integration tests. Approved by reviewers and passed CI.
Suggested action: —
No scores available.
Issue body
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Check for collisions where multiple parts try to stage a file with different contents in each partition.
I refactored the existing unit tests and added new integration tests. I recommend reviewing per-commit.
Fixes #633
(CRAFT-2416)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds stage file collision checks per partition to fix issue #633. Includes refactored unit tests and new integration tests. Approved by reviewers and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged implementation adding stage file collision detection across partitions, resolving issue #633. Includes refactored unit tests and new integration tests validating partition-specific staging conflicts. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1188 refactor: split _check_for_stage_collisions_per_partition | craft-parts | merged | Squash merged after approvals and passing CI. Refactors _check_for_stage_collisions_per_partition by separating file gathering from conflict checking, enabling future overlay conflict resolution without altering current behavior. | |
| #633 Check for staged file collisions in each partition | craft-parts | closed | Extended check_for_stage_collisions() to verify file collisions across all partitions rather than just the default. Resolved and merged via pull request #662. | |
| #834 fix: use partitions for stage-packages tracking | craft-parts | merged | Merged to fix issue #804. The change updates stage-package tracking to scan primed files per partition, resolving failures in common partitioned setups. Multi-partition tracking still requires deeper refactoring. Approved by three reviewers and passed CI. | |
| #52 executor: add part file collision verification | craft-parts | merged | Merged implementation of part file collision verification to prevent staging errors when different parts stage files with identical names but different contents. Logic ported from snapcraft, approved by three reviewers, and passed CI. | |
| #1186 refactor: split _check_for_stage_collisions_per_partition | craft-parts | closed | Abandoned and closed without merging due to failing CI tests across multiple environments. The refactor split a collision-checking function to prepare for overlay conflict resolution but received no reviewer feedback. | |
| #234 executor: fix update build stage packages | craft-parts | merged | Merged a fix for build stage package update consistency and resolved unpacked files disappearing after build updates. Approved by two reviewers, passed CI, and integrated with 49 additions and 26 deletions across five files. |