sequencer: only load project vars in adopting part (#509)
Metadata
Current evaluation
Merged forward-port #516 (e69e19c7) of #509 (6bafaf03), limiting project-variable loading to the adopting part to avoid double assignment after reordered execution.
Resolution: closed resolved
Reason: PR #516 was approved, rebased onto hotfix/1.23.1, and merged. It forward-ports #509's fix from commit 6bafaf03 so persisted project variables are ignored outside the adopting part.
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/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged forward-port #516 (e69e19c7) of #509 (6bafaf03), limiting project-variable loading to the adopting part to avoid double assignment after reordered execution. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged fix (originating in #509, commit 6bafaf03) forward-ported by #516 / e69e19c7 onto hotfix/1.23.1: sequencer now loads project variables only in the adopting part, ignoring persisted values on state reload to avoid double-assignment errors (LP #1831135). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #509 via 6bafaf03 (forward-ported as #516/e69e19c7), loading project variables only in the adopting part to prevent double-assignment errors after reordered execution. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged PR #509 fixes a sequencer bug where project variables were incorrectly persisted across parts, causing double assignment errors during reordered execution. The fix restricts variable loading to the adopting part only, ignoring persisted values during state reload. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix resolving sequencer double assignment errors from project variables persisting across parts. Restricts loading to the adopting part only, ignoring persisted values during state reload. Rebased on hotfix/1.23.1 before merge. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#509
(confidence 100%)
Original merged fix that was forward-ported by #516.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #509 sequencer: only load project vars in adopting part | craft-parts | merged | 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). |