fix: include-needs should only include direct dependencies, not transitive

- Fix collectDirectNeedsOnly to correctly match needs by full ID
- Fix PlanReleases to respect SelectedReleases when provided
- Fix unmarkNeedsDirectOnly to use full release IDs
- Update tests to expect correct behavior for include-needs vs include-transitive-needs
- Add SkipNeeds flag when needs are pre-included in withNeeds

This fixes CI issues in PR #2485

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero
2026-03-18 08:25:32 +08:00
committed by yxxhero
parent 3815ce1143
commit 2542988fbc
44 changed files with 288 additions and 239 deletions
@@ -1,11 +1,13 @@
merged environment: &{default map[] map[] map[]}
2 release(s) found in helmfile.yaml
processing 1 groups of releases in this order:
processing 2 groups of releases in this order:
GROUP RELEASES
1 foo
2 bar
processing releases in group 1/1: foo
processing releases in group 1/2: foo
processing releases in group 2/2: bar
Affected releases are:
bar (mychart2) DELETED
foo (mychart1) UPDATED
@@ -2,11 +2,13 @@ merged environment: &{default map[] map[] map[]}
WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs
2 release(s) found in helmfile.yaml
processing 1 groups of releases in this order:
processing 2 groups of releases in this order:
GROUP RELEASES
1 foo
1 bar
2 foo
processing releases in group 1/1: foo
processing releases in group 1/2: bar
processing releases in group 2/2: foo
WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs
Affected releases are:
bar (mychart2) DELETED
@@ -1,11 +1,13 @@
merged environment: &{default map[] map[] map[]}
2 release(s) found in helmfile.yaml
processing 1 groups of releases in this order:
processing 2 groups of releases in this order:
GROUP RELEASES
1 bar
2 foo
processing releases in group 1/1: bar
processing releases in group 1/2: bar
processing releases in group 2/2: foo
Affected releases are:
bar (mychart2) UPDATED
foo (mychart1) DELETED
+4 -2
View File
@@ -1,9 +1,11 @@
merged environment: &{default map[] map[] map[]}
2 release(s) found in helmfile.yaml
processing 1 groups of releases in this order:
processing 2 groups of releases in this order:
GROUP RELEASES
1 bar
2 foo
processing releases in group 1/1: bar
processing releases in group 1/2: bar
processing releases in group 2/2: foo
No affected releases
+4 -4
View File
@@ -6,14 +6,14 @@ GROUP RELEASES
1 logging, front-proxy
2 database, servicemesh
3 anotherbackend
4 backend-v2
5 frontend-v2, frontend-v3
4 backend-v1, backend-v2
5 frontend-v1, frontend-v2, frontend-v3
processing releases in group 1/5: logging, front-proxy
processing releases in group 2/5: database, servicemesh
processing releases in group 3/5: anotherbackend
processing releases in group 4/5: backend-v2
processing releases in group 5/5: frontend-v2, frontend-v3
processing releases in group 4/5: backend-v1, backend-v2
processing releases in group 5/5: frontend-v1, frontend-v2, frontend-v3
Affected releases are:
anotherbackend (charts/anotherbackend) UPDATED
backend-v1 (charts/backend) DELETED