diff --git a/cleanup.js b/cleanup.js index 6b7ab7d..71c657b 100644 --- a/cleanup.js +++ b/cleanup.js @@ -1,4 +1,3 @@ -const core = require('@actions/core'); const { execFileSync } = require('child_process'); const { sshAgentCmd } = require('./paths.js'); diff --git a/index.js b/index.js index 0c2e08b..d28a764 100644 --- a/index.js +++ b/index.js @@ -2,20 +2,12 @@ const core = require('@actions/core'); const child_process = require('child_process'); const fs = require('fs'); const crypto = require('crypto'); -const { homePath, sshAgentCmdDefault, sshAddCmdDefault, gitCmdDefault } = require('./paths.js'); +const { homePath, sshAgentCmd, sshAddCmd, gitCmd } = require('./paths.js'); try { const privateKey = core.getInput('ssh-private-key'); const logPublicKey = core.getBooleanInput('log-public-key', {default: true}); - const sshAgentCmdInput = core.getInput('ssh-agent-cmd'); - const sshAddCmdInput = core.getInput('ssh-add-cmd'); - const gitCmdInput = core.getInput('git-cmd'); - - const sshAgentCmd = sshAgentCmdInput ? sshAgentCmdInput : sshAgentCmdDefault; - const sshAddCmd = sshAddCmdInput ? sshAddCmdInput : sshAddCmdDefault; - const gitCmd = gitCmdInput ? gitCmdInput : gitCmdDefault; - if (!privateKey) { core.setFailed("The ssh-private-key argument is empty. Maybe the secret has not been configured, or you are using a wrong secret name in your workflow file."); diff --git a/paths.js b/paths.js index 1c6fbf0..bd4cd30 100644 --- a/paths.js +++ b/paths.js @@ -1,6 +1,7 @@ const os = require('os'); +const core = require('@actions/core'); -module.exports = (process.env['OS'] != 'Windows_NT') ? { +const defaults = (process.env['OS'] != 'Windows_NT') ? { // 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 homePath: os.userInfo().homedir, @@ -14,3 +15,14 @@ module.exports = (process.env['OS'] != 'Windows_NT') ? { sshAddCmdDefault: 'c://progra~1//git//usr//bin//ssh-add.exe', gitCmdDefault: 'c://progra~1//git//bin//git.exe' }; + +const sshAgentCmdInput = core.getInput('ssh-agent-cmd'); +const sshAddCmdInput = core.getInput('ssh-add-cmd'); +const gitCmdInput = core.getInput('git-cmd'); + +module.exports = { + homePath: defaults.homePath, + sshAgentCmd: sshAgentCmdInput !== '' ? sshAgentCmdInput : defaults.sshAgentCmdDefault, + sshAddCmd: sshAddCmdInput !== '' ? sshAddCmdInput : defaults.sshAddCmdDefault, + gitCmd: gitCmdInput !== '' ? gitCmdInput : defaults.gitCmdDefault, +};