mirror of
				https://kkgithub.com/actions/checkout
				synced 2025-10-31 14:21:50 +08:00 
			
		
		
		
	
		
			
	
	
		
			25 lines
		
	
	
		
			848 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			848 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|   | import * as assert from 'assert' | ||
|  | import {IGitSourceSettings} from './git-source-settings' | ||
|  | import {URL} from 'url' | ||
|  | 
 | ||
|  | export function getFetchUrl(settings: IGitSourceSettings): string { | ||
|  |   assert.ok( | ||
|  |     settings.repositoryOwner, | ||
|  |     'settings.repositoryOwner must be defined' | ||
|  |   ) | ||
|  |   assert.ok(settings.repositoryName, 'settings.repositoryName must be defined') | ||
|  |   const serviceUrl = getServerUrl() | ||
|  |   const encodedOwner = encodeURIComponent(settings.repositoryOwner) | ||
|  |   const encodedName = encodeURIComponent(settings.repositoryName) | ||
|  |   if (settings.sshKey) { | ||
|  |     return `git@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git` | ||
|  |   } | ||
|  | 
 | ||
|  |   // "origin" is SCHEME://HOSTNAME[:PORT]
 | ||
|  |   return `${serviceUrl.origin}/${encodedOwner}/${encodedName}` | ||
|  | } | ||
|  | 
 | ||
|  | export function getServerUrl(): URL { | ||
|  |   return new URL(process.env['GITHUB_URL'] || 'https://github.com') | ||
|  | } |