From 3b424942ac0a6a7ddb852eba79eaf16101c0b460 Mon Sep 17 00:00:00 2001 From: Matthias Pigulla Date: Fri, 12 Feb 2021 20:12:28 +0000 Subject: [PATCH] Use os.userInfo() to obtain the getpwent()-based home directory --- dist/index.js | 11 ++++++++--- index.js | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/dist/index.js b/dist/index.js index 8f07a29..31f3315 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) { @@ -135,8 +132,16 @@ try { 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' }); + + const 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 + const { 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..b2ec046 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) { @@ -18,8 +15,16 @@ try { 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' }); + + const 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 + const { 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');