diff --git a/dist/index.js b/dist/index.js index 8f07a29..e90c339 100644 --- a/dist/index.js +++ b/dist/index.js @@ -121,9 +121,6 @@ const fs = __webpack_require__(747); const os = __webpack_require__(87); try { - - const home = os.homedir(); - const homeSsh = home + '/.ssh'; const privateKey = core.getInput('ssh-private-key'); if (!privateKey) { @@ -132,11 +129,21 @@ try { return; } + var home; + if (process.env['OS'] == 'Windows_NT') { console.log('Preparing ssh-agent service on Windows'); child_process.execSync('sc config ssh-agent start=demand', { stdio: 'inherit' }); + + home = os.homedir(); + } else { + // Use getent() system call, since this is what ssh does; makes a difference in Docker-based + // Action runs, where $HOME is different from the pwent + var { homedir: home } = os.userInfo(); } + const homeSsh = home + '/.ssh'; + console.log(`Adding GitHub.com keys to ${homeSsh}/known_hosts`); fs.mkdirSync(homeSsh, { recursive: true }); fs.appendFileSync(`${homeSsh}/known_hosts`, '\ngithub.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\n'); diff --git a/index.js b/index.js index 52dbb1c..c4f5049 100644 --- a/index.js +++ b/index.js @@ -4,9 +4,6 @@ const fs = require('fs'); const os = require('os'); try { - - const home = os.homedir(); - const homeSsh = home + '/.ssh'; const privateKey = core.getInput('ssh-private-key'); if (!privateKey) { @@ -15,11 +12,21 @@ try { return; } + var home; + if (process.env['OS'] == 'Windows_NT') { console.log('Preparing ssh-agent service on Windows'); child_process.execSync('sc config ssh-agent start=demand', { stdio: 'inherit' }); + + home = os.homedir(); + } else { + // Use getent() system call, since this is what ssh does; makes a difference in Docker-based + // Action runs, where $HOME is different from the pwent + var { homedir: home } = os.userInfo(); } + const homeSsh = home + '/.ssh'; + console.log(`Adding GitHub.com keys to ${homeSsh}/known_hosts`); fs.mkdirSync(homeSsh, { recursive: true }); fs.appendFileSync(`${homeSsh}/known_hosts`, '\ngithub.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\n');