diff --git a/src/redis_release/bht/behaviours.py b/src/redis_release/bht/behaviours.py index b18c4a5..862c079 100644 --- a/src/redis_release/bht/behaviours.py +++ b/src/redis_release/bht/behaviours.py @@ -806,18 +806,22 @@ def update(self) -> Status: pass else: assert self.release_version is not None - if self.release_version.is_internal: - self.package_meta.release_type = ReleaseType.INTERNAL - self.package_meta.homebrew_channel = HomebrewChannel.RC - else: + if self.package_meta.release_type is None: + if self.release_version.is_internal: + self.package_meta.release_type = ReleaseType.INTERNAL + else: + if self.release_version.is_ga: + self.package_meta.release_type = ReleaseType.PUBLIC + elif self.release_version.is_rc: + self.package_meta.release_type = ReleaseType.PUBLIC + else: + self.package_meta.release_type = ReleaseType.INTERNAL + + if self.package_meta.homebrew_channel is None: if self.release_version.is_ga: - self.package_meta.release_type = ReleaseType.PUBLIC self.package_meta.homebrew_channel = HomebrewChannel.STABLE - elif self.release_version.is_rc: - self.package_meta.release_type = ReleaseType.PUBLIC - self.package_meta.homebrew_channel = HomebrewChannel.RC else: - self.package_meta.release_type = ReleaseType.INTERNAL + # RC, internal, or any other version goes to RC channel self.package_meta.homebrew_channel = HomebrewChannel.RC self.feedback_message = f"release_type: {self.package_meta.release_type.value}, homebrew_channel: {self.package_meta.homebrew_channel.value}" diff --git a/src/redis_release/bht/tree_factory.py b/src/redis_release/bht/tree_factory.py index fde3571..3ef6c1b 100644 --- a/src/redis_release/bht/tree_factory.py +++ b/src/redis_release/bht/tree_factory.py @@ -529,6 +529,23 @@ def create_build_workflow_inputs( release_meta, log_prefix=log_prefix, ) + def create_publish_workflow_inputs( + self, + name: str, + workflow: Workflow, + package_meta: PackageMeta, + release_meta: ReleaseMeta, + log_prefix: str, + ) -> Behaviour: + + return HomewbrewWorkflowInputs( + name, + workflow, + cast(HomebrewMeta, package_meta), + release_meta, + log_prefix=log_prefix, + ) + # Factory registry