@@ -874,26 +874,42 @@ def __init__(
874874 ) -> None :
875875 self .release_meta = release_meta
876876 self .package_meta = package_meta
877+ self .release_version : Optional [RedisVersion ] = None
877878 super ().__init__ (name = name , log_prefix = log_prefix )
878879
880+ def initialise (self ) -> None :
881+ if self .package_meta .release_type is not None :
882+ return
883+ if self .release_meta .tag is None :
884+ self .logger .error ("Release tag is not set" )
885+ return
886+ self .release_version = RedisVersion .parse (self .release_meta .tag )
887+
879888 def update (self ) -> Status :
889+ result : Status = Status .FAILURE
890+
880891 if self .package_meta .release_type is not None :
881- if self . log_once (
882- "release_type_detected" , self .package_meta .ephemeral . log_once_flags
883- ) :
884- self .logger . info (
885- f"Detected release type: { self .package_meta .release_type } "
886- )
887- return Status . SUCCESS
888- if self . release_meta . tag and re . search ( r"-int\d*$" , self . release_meta . tag ):
889- self .package_meta . release_type = ReleaseType . INTERNAL
892+ result = Status . SUCCESS
893+ self . feedback_message = f"Release type: { self .package_meta .release_type } "
894+ elif self . release_version is not None :
895+ if self .release_version . is_internal :
896+ self .package_meta .release_type = ReleaseType . INTERNAL
897+ else :
898+ self . package_meta . release_type = ReleaseType . PUBLIC
899+ result = Status . SUCCESS
900+ self .feedback_message = f"Release type: { self . package_meta . release_type } "
890901 else :
891- self .package_meta .release_type = ReleaseType .PUBLIC
892- self .log_once (
902+ self .feedback_message = "Failed to detect release type"
903+ result = Status .FAILURE
904+
905+ if self .log_once (
893906 "release_type_detected" , self .release_meta .ephemeral .log_once_flags
894- )
895- self .logger .info (f"Detected release type: { self .package_meta .release_type } " )
896- return Status .SUCCESS
907+ ):
908+ if result == Status .SUCCESS :
909+ self .logger .info (f"[green]{ self .feedback_message } [/green]" )
910+ else :
911+ self .logger .error (f"[red]{ self .feedback_message } [/red]" )
912+ return result
897913
898914
899915class IsForceRebuild (LoggingAction ):
0 commit comments