mirror of
				https://github.com/actions/checkout.git
				synced 2025-11-04 05:58:40 +08:00 
			
		
		
		
	Merge b8a48d8f8e into b4ffde65f4
				
					
				
			This commit is contained in:
		
						commit
						f492d87a85
					
				| 
						 | 
				
			
			@ -295,6 +295,10 @@ describe('git-auth-helper tests', () => {
 | 
			
		|||
      'core.sshCommand',
 | 
			
		||||
      expectedSshCommand
 | 
			
		||||
    )
 | 
			
		||||
    expect(git.config).toHaveBeenCalledWith(
 | 
			
		||||
      'user.signingKey',
 | 
			
		||||
      actualKeyPath
 | 
			
		||||
    )
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  const configureAuth_writesExplicitKnownHosts = 'writes explicit known hosts'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -148,6 +148,7 @@ const urlHelper = __importStar(__nccwpck_require__(9437));
 | 
			
		|||
const v4_1 = __importDefault(__nccwpck_require__(824));
 | 
			
		||||
const IS_WINDOWS = process.platform === 'win32';
 | 
			
		||||
const SSH_COMMAND_KEY = 'core.sshCommand';
 | 
			
		||||
const SIGNING_KEY = 'user.signingKey';
 | 
			
		||||
function createAuthHelper(git, settings) {
 | 
			
		||||
    return new GitAuthHelper(git, settings);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -305,7 +306,7 @@ class GitAuthHelper {
 | 
			
		|||
            this.sshKeyPath = path.join(runnerTemp, uniqueId);
 | 
			
		||||
            stateHelper.setSshKeyPath(this.sshKeyPath);
 | 
			
		||||
            yield fs.promises.mkdir(runnerTemp, { recursive: true });
 | 
			
		||||
            yield fs.promises.writeFile(this.sshKeyPath, this.settings.sshKey.trim() + '\n', { mode: 0o600 });
 | 
			
		||||
            yield fs.promises.writeFile(this.sshKeyPath, `${this.settings.sshKey.trim()}\n`, { mode: 0o600 });
 | 
			
		||||
            // Remove inherited permissions on Windows
 | 
			
		||||
            if (IS_WINDOWS) {
 | 
			
		||||
                const icacls = yield io.which('icacls.exe');
 | 
			
		||||
| 
						 | 
				
			
			@ -346,6 +347,7 @@ class GitAuthHelper {
 | 
			
		|||
            // Configure core.sshCommand
 | 
			
		||||
            if (this.settings.persistCredentials) {
 | 
			
		||||
                yield this.git.config(SSH_COMMAND_KEY, this.sshCommand);
 | 
			
		||||
                yield this.git.config(SIGNING_KEY, this.sshKeyPath);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@ import {IGitSourceSettings} from './git-source-settings'
 | 
			
		|||
 | 
			
		||||
const IS_WINDOWS = process.platform === 'win32'
 | 
			
		||||
const SSH_COMMAND_KEY = 'core.sshCommand'
 | 
			
		||||
const SIGNING_KEY = 'user.signingKey'
 | 
			
		||||
 | 
			
		||||
export interface IGitAuthHelper {
 | 
			
		||||
  configureAuth(): Promise<void>
 | 
			
		||||
| 
						 | 
				
			
			@ -269,6 +270,7 @@ class GitAuthHelper {
 | 
			
		|||
    // Configure core.sshCommand
 | 
			
		||||
    if (this.settings.persistCredentials) {
 | 
			
		||||
      await this.git.config(SSH_COMMAND_KEY, this.sshCommand)
 | 
			
		||||
      await this.git.config(SIGNING_KEY, this.sshKeyPath)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user