2022-03-30 15:46:49 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  *  as  cache  from  "@actions/cache" ;  
						 
					
						
							
								
									
										
										
										
											2019-10-30 14:48:49 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  *  as  core  from  "@actions/core" ;  
						 
					
						
							
								
									
										
										
										
											2019-11-13 10:54:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-21 19:38:44 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  {  RefKey  }  from  "../constants" ;  
						 
					
						
							
								
									
										
										
										
											2019-10-30 14:48:49 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-09-29 09:58:32 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								export  function  isGhes ( ) :  boolean  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  ghUrl  =  new  URL ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        process . env [ "GITHUB_SERVER_URL" ]  ||  "https://github.com" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ghUrl . hostname . toUpperCase ( )  !==  "GITHUB.COM" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-14 17:27:38 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								export  function  isExactKeyMatch ( key : string ,  cacheKey? : string ) :  boolean  {  
						 
					
						
							
								
									
										
										
										
											2019-10-30 14:48:49 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    return  ! ! ( 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-14 17:27:38 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        cacheKey  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        cacheKey . localeCompare ( key ,  undefined ,  { 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-30 14:48:49 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            sensitivity :  "accent" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } )  ===  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-21 14:37:54 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								export  function  logWarning ( message : string ) :  void  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const  warningPrefix  =  "[warning]" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    core . info ( ` ${ warningPrefix } ${ message } ` ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-17 15:46:46 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Cache token authorized for all events that are tied to a ref
  
						 
					
						
							
								
									
										
										
										
											2019-11-13 10:54:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// See GitHub Context https://help.github.com/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#github-context
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export  function  isValidEvent ( ) :  boolean  {  
						 
					
						
							
								
									
										
										
										
											2020-04-20 13:44:37 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    return  RefKey  in  process . env  &&  Boolean ( process . env [ RefKey ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-13 10:54:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2020-06-02 10:21:03 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export  function  getInputAsArray (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    name : string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    options? : core.InputOptions 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) :  string [ ]  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  core 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . getInput ( name ,  options ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        . split ( "\n" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-22 13:05:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . map ( s  = >  s . replace ( /^!\s+/ ,  "!" ) . trim ( ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-03 06:39:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        . filter ( x  = >  x  !==  "" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-02 10:21:03 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2020-10-02 09:59:55 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export  function  getInputAsInt (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    name : string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    options? : core.InputOptions 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) :  number  |  undefined  {  
						 
					
						
							
								
									
										
										
										
											2020-10-02 10:55:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  value  =  parseInt ( core . getInput ( name ,  options ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( isNaN ( value )  ||  value  <  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-10-02 09:59:55 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  undefined ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2022-03-30 15:46:49 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export  function  isCacheFeatureAvailable ( ) :  boolean  {  
						 
					
						
							
								
									
										
										
										
											2022-12-02 15:09:10 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( cache . isFeatureAvailable ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( isGhes ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        logWarning ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ` Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.
 
							 
						 
					
						
							
								
									
										
										
										
											2022-09-20 10:47:27 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Otherwise  please  upgrade  to  GHES  version  >=  3.5  and  If  you  are  also  using  Github  Connect ,  please  unretire  the  actions / cache  namespace  before  upgrade  ( see  https : //docs.github.com/en/enterprise-server@3.5/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)`
  
						 
					
						
							
								
									
										
										
										
											2022-12-02 15:09:10 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-30 15:46:49 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-02 15:09:10 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    logWarning ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        "An internal error has occurred in cache backend. Please check https://www.githubstatus.com/ for any ongoing issue in actions." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-30 15:46:49 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}