2121
2222from ..config import Config
2323from ..github_client_async import GitHubClientAsync
24- from ..models import ReleaseArgs
24+ from ..models import PackageType , ReleaseArgs
2525from ..state_display import print_state_table
2626from ..state_manager import S3StateStorage , StateManager , StateStorage
2727from ..state_slack import SlackStatePrinter , init_slack_printer
@@ -221,17 +221,23 @@ class TreeInspector:
221221 "workflow_with_result_branch" ,
222222 "publish_workflow_branch" ,
223223 "build_workflow_branch" ,
224+ "package_release_branch" ,
225+ "package_release_goal_branch" ,
224226 "demo_sequence" ,
225227 "demo_selector" ,
226228 ]
227229
228- def __init__ (self , release_tag : str ):
230+ def __init__ (self , release_tag : str , package_type : Optional [ str ] = None ):
229231 """Initialize TreeInspector.
230232
231233 Args:
232234 release_tag: Release tag for creating mock ReleaseMeta
233235 """
234236 self .release_tag = release_tag
237+ if package_type :
238+ self .package_type = PackageType (package_type )
239+ else :
240+ self .package_type = PackageType .DOCKER
235241
236242 def get_names (self ) -> List [str ]:
237243 """Get list of available branch/PPA names.
@@ -297,15 +303,17 @@ def create_by_name(self, name: str) -> Union[Selector, Sequence, Behaviour]:
297303 "test-artifact" , workflow , package_meta , github_client , log_prefix
298304 )
299305 elif name == "workflow_complete_branch" :
300- return create_workflow_complete_tree_branch (
306+ return get_factory ( self . package_type ). create_workflow_complete_tree_branch (
301307 workflow , package_meta , release_meta , github_client , ""
302308 )
303309 elif name == "workflow_with_result_branch" :
304- return create_workflow_with_result_tree_branch (
310+ return get_factory (
311+ self .package_type
312+ ).create_workflow_with_result_tree_branch (
305313 "artifact" , workflow , package_meta , release_meta , github_client , ""
306314 )
307315 elif name == "publish_workflow_branch" :
308- return create_publish_workflow_tree_branch (
316+ return get_factory ( self . package_type ). create_publish_workflow_tree_branch (
309317 workflow ,
310318 workflow ,
311319 package_meta ,
@@ -315,7 +323,17 @@ def create_by_name(self, name: str) -> Union[Selector, Sequence, Behaviour]:
315323 "" ,
316324 )
317325 elif name == "build_workflow_branch" :
318- return create_build_workflow_tree_branch (
326+ return get_factory (self .package_type ).create_build_workflow_tree_branch (
327+ package , release_meta , package , github_client , ""
328+ )
329+ elif name == "package_release_branch" :
330+ return get_factory (self .package_type ).create_package_release_tree_branch (
331+ package , release_meta , package , github_client , ""
332+ )
333+ elif name == "package_release_goal_branch" :
334+ return get_factory (
335+ self .package_type
336+ ).create_package_release_goal_tree_branch (
319337 package , release_meta , package , github_client , ""
320338 )
321339 elif name == "demo_sequence" :
0 commit comments