← Back to issue list

sequencer: only load project vars in adopting part

View original Github issue

Metadata

Project
craft-parts
Number
#509
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

PR #509 merged (commit 6bafaf03): sequencer now loads project variables only in the adopting part, fixing double assignment after reordered execution (CRAFT-1088). Forward-ported via #516 (e69e19c7).

Resolution: closed resolved

Reason: Merged by maintainer cmatsuoka with two approvals and zero unresolved comments as commit 6bafaf03, later forward-ported to a maintenance branch by merged PR #516 (commit e69e19c7). A reviewer note about a linting failure was addressed separately in #511, and cmatsuoka confirmed kernels still build correctly after the change.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Project variables exist only in the part scope and should be ignored in other parts' states. In the existing implementation these values are persisted in each part, which leads to double assignment errors when a step is executed for parts in a order that's different from the previous execution (see example in LP #1831135). There are different ways to address this issue, the current fix tries to be minimally disruptive by just ignoring persisted values when reloading the state. We can refactor this code later to have a cleaner implementation. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- CRAFT-1088

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved PR #509 merged (commit 6bafaf03): sequencer now loads project variables only in the adopting part, fixing double assignment after reordered execution (CRAFT-1088). Forward-ported via #516 (e69e19c7).
stealth/space-bunny-alpha — closed resolved Merged PR #509 (commit 6bafaf03; merge e69e19c7), limiting project-variable loading to the adopting part and preventing double assignments from stale persisted state.
stealth/space-bunny-alpha — closed resolved Merged PR #509 to load project variables only in the adopting part, preventing double assignment when execution order changes. The fix was forward-ported by #516.
qwen/qwen3.6-35b-a3b — — Merged fix for double assignment errors during reordered step execution. Project variables now load only in the adopting part, ignoring persisted values during state reload. Approved by two reviewers, passed CI, and integrated.
qwen3.6-35b-a3b-mtp-q6 — — Merged fix for double assignment errors when project variables persisted across parts during reordered execution. The sequencer now ignores persisted project variables during state reload. Verified via successful kernel builds.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#516 (confidence 95%)

    Merged forward-port of #509 (commit e69e19c7) carrying the same fix into a stable/release branch.

  • Related To: craft-parts#511 (confidence 80%)

    Referenced by lengau in a comment on #509 as the fix for the linting failure seen during this PR.

  • Related To: craft-parts#513 (confidence 40%)

    DO NOT MERGE test PR opened while #509's CI was failing; its underlying fixes landed in #511 and #512.

Related issues

Issue Project State Summary Similarity
#516 sequencer: only load project vars in adopting part (#509) craft-parts merged Merged forward-port #516 (e69e19c7) of #509 (6bafaf03), limiting project-variable loading to the adopting part to avoid double assignment after reordered execution.
94%