|
3 | 3 |
|
4 | 4 | from py_trees.behaviour import Behaviour |
5 | 5 | from py_trees.behaviours import Failure as AlwaysFailure |
| 6 | +from py_trees.behaviours import Success as AlwaysSuccess |
6 | 7 | from py_trees.composites import Selector, Sequence |
7 | 8 | from py_trees.decorators import Inverter |
8 | 9 |
|
@@ -45,7 +46,7 @@ def create_package_release_goal_tree_branch( |
45 | 46 | return Selector( |
46 | 47 | f"Package Release {package_name} Goal", |
47 | 48 | memory=False, |
48 | | - children=[AlwaysFailure("Yes"), package_release], |
| 49 | + children=[AlwaysFailure("Always"), package_release], |
49 | 50 | ) |
50 | 51 |
|
51 | 52 | def create_build_workflow_inputs( |
@@ -327,6 +328,20 @@ def create_extract_result_tree_branch( |
327 | 328 | latch_chains(extract_artifact_result, download_artifacts) |
328 | 329 | return extract_artifact_result |
329 | 330 |
|
| 331 | + def create_need_to_release_behaviour( |
| 332 | + self, |
| 333 | + name: str, |
| 334 | + package_meta: PackageMeta, |
| 335 | + release_meta: ReleaseMeta, |
| 336 | + log_prefix: str, |
| 337 | + ) -> Behaviour: |
| 338 | + """Create a behaviour that checks if the package needs to be released. |
| 339 | +
|
| 340 | + Default implementation always returns SUCCESS (always release). |
| 341 | + Override in subclasses for package-specific logic. |
| 342 | + """ |
| 343 | + return AlwaysSuccess(name) |
| 344 | + |
330 | 345 |
|
331 | 346 | class PackageWithValidation: |
332 | 347 | """ |
|
0 commit comments