mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 05:25:55 +08:00 
			
		
		
		
	Add SSH user parameter (#1685)
* Add a configurable SSH user * Update docs with param * Indentation of readme * formatting woes * Update src/url-helper.ts Co-authored-by: Josh Gross <joshmgross@github.com> * Update action.yml Co-authored-by: Josh Gross <joshmgross@github.com> * Update genfiles --------- Co-authored-by: Josh Gross <joshmgross@github.com>
This commit is contained in:
		| @@ -62,6 +62,11 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/ | ||||
|     # Default: true | ||||
|     ssh-strict: '' | ||||
|  | ||||
|     # The user to use when connecting to the remote SSH host. By default 'git' is | ||||
|     # used. | ||||
|     # Default: git | ||||
|     ssh-user: '' | ||||
|  | ||||
|     # Whether to configure the token or SSH key with the local git config | ||||
|     # Default: true | ||||
|     persist-credentials: '' | ||||
|   | ||||
| @@ -821,6 +821,7 @@ async function setup(testName: string): Promise<void> { | ||||
|     sshKey: sshPath ? 'some ssh private key' : '', | ||||
|     sshKnownHosts: '', | ||||
|     sshStrict: true, | ||||
|     sshUser: '', | ||||
|     workflowOrganizationId: 123456, | ||||
|     setSafeDirectory: true, | ||||
|     githubServerUrl: githubServerUrl | ||||
|   | ||||
| @@ -45,6 +45,10 @@ inputs: | ||||
|       and `CheckHostIP=no` to the SSH command line. Use the input `ssh-known-hosts` to | ||||
|       configure additional hosts. | ||||
|     default: true | ||||
|   ssh-user: | ||||
|     description: > | ||||
|       The user to use when connecting to the remote SSH host. By default 'git' is used. | ||||
|     default: git | ||||
|   persist-credentials: | ||||
|     description: 'Whether to configure the token or SSH key with the local git config' | ||||
|     default: true | ||||
|   | ||||
							
								
								
									
										4
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -1798,6 +1798,7 @@ function getInputs() { | ||||
|         result.sshKnownHosts = core.getInput('ssh-known-hosts'); | ||||
|         result.sshStrict = | ||||
|             (core.getInput('ssh-strict') || 'true').toUpperCase() === 'TRUE'; | ||||
|         result.sshUser = core.getInput('ssh-user'); | ||||
|         // Persist credentials | ||||
|         result.persistCredentials = | ||||
|             (core.getInput('persist-credentials') || 'false').toUpperCase() === 'TRUE'; | ||||
| @@ -2400,7 +2401,8 @@ function getFetchUrl(settings) { | ||||
|     const encodedOwner = encodeURIComponent(settings.repositoryOwner); | ||||
|     const encodedName = encodeURIComponent(settings.repositoryName); | ||||
|     if (settings.sshKey) { | ||||
|         return `git@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git`; | ||||
|         const user = settings.sshUser.length > 0 ? settings.sshUser : 'git'; | ||||
|         return `${user}@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git`; | ||||
|     } | ||||
|     // "origin" is SCHEME://HOSTNAME[:PORT] | ||||
|     return `${serviceUrl.origin}/${encodedOwner}/${encodedName}`; | ||||
|   | ||||
| @@ -94,6 +94,11 @@ export interface IGitSourceSettings { | ||||
|    */ | ||||
|   sshStrict: boolean | ||||
|  | ||||
|   /** | ||||
|    * The SSH user to login as | ||||
|    */ | ||||
|   sshUser: string | ||||
|  | ||||
|   /** | ||||
|    * Indicates whether to persist the credentials on disk to enable scripting authenticated git commands | ||||
|    */ | ||||
|   | ||||
| @@ -143,6 +143,7 @@ export async function getInputs(): Promise<IGitSourceSettings> { | ||||
|   result.sshKnownHosts = core.getInput('ssh-known-hosts') | ||||
|   result.sshStrict = | ||||
|     (core.getInput('ssh-strict') || 'true').toUpperCase() === 'TRUE' | ||||
|   result.sshUser = core.getInput('ssh-user') | ||||
|  | ||||
|   // Persist credentials | ||||
|   result.persistCredentials = | ||||
|   | ||||
| @@ -12,7 +12,8 @@ export function getFetchUrl(settings: IGitSourceSettings): string { | ||||
|   const encodedOwner = encodeURIComponent(settings.repositoryOwner) | ||||
|   const encodedName = encodeURIComponent(settings.repositoryName) | ||||
|   if (settings.sshKey) { | ||||
|     return `git@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git` | ||||
|     const user = settings.sshUser.length > 0 ? settings.sshUser : 'git' | ||||
|     return `${user}@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git` | ||||
|   } | ||||
|  | ||||
|   // "origin" is SCHEME://HOSTNAME[:PORT] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user