mirror of
https://github.com/webfactory/ssh-agent.git
synced 2024-11-25 18:38:01 +00:00
don't log public key and add flag for it if needed
This commit is contained in:
parent
26e485b72d
commit
79fe588704
2 changed files with 40 additions and 4 deletions
20
dist/index.js
vendored
20
dist/index.js
vendored
|
@ -324,8 +324,25 @@ const fs = __webpack_require__(747);
|
||||||
const crypto = __webpack_require__(417);
|
const crypto = __webpack_require__(417);
|
||||||
const { home, sshAgent, sshAdd } = __webpack_require__(972);
|
const { home, sshAgent, sshAdd } = __webpack_require__(972);
|
||||||
|
|
||||||
|
// FIXME: slightly modified version of never version of core.getBooleanInput
|
||||||
|
// as that doesn't respect required:false
|
||||||
|
core.getBooleanInput = function getBooleanInput(name, options) {
|
||||||
|
const trueValue = ['true', 'True', 'TRUE']
|
||||||
|
const falseValue = ['false', 'False', 'FALSE']
|
||||||
|
const val = core.getInput(name, options)
|
||||||
|
if (!val) return false // replace with default InputOption
|
||||||
|
if (trueValue.includes(val)) return true
|
||||||
|
if (falseValue.includes(val)) return false
|
||||||
|
throw new TypeError(
|
||||||
|
`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
|
||||||
|
`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const privateKey = core.getInput('ssh-private-key');
|
const privateKey = core.getInput('ssh-private-key');
|
||||||
|
const logPublicKey = core.getBooleanInput('log-public-key', {required: false});
|
||||||
|
|
||||||
if (!privateKey) {
|
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.");
|
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.");
|
||||||
|
@ -374,8 +391,9 @@ try {
|
||||||
const parts = key.match(/\bgithub\.com[:/]([_.a-z0-9-]+\/[_.a-z0-9-]+)/i);
|
const parts = key.match(/\bgithub\.com[:/]([_.a-z0-9-]+\/[_.a-z0-9-]+)/i);
|
||||||
|
|
||||||
if (!parts) {
|
if (!parts) {
|
||||||
|
if (logPublicKey) {
|
||||||
console.log(`Comment for (public) key '${key}' does not match GitHub URL pattern. Not treating it as a GitHub deploy key.`);
|
console.log(`Comment for (public) key '${key}' does not match GitHub URL pattern. Not treating it as a GitHub deploy key.`);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
20
index.js
20
index.js
|
@ -4,8 +4,25 @@ const fs = require('fs');
|
||||||
const crypto = require('crypto');
|
const crypto = require('crypto');
|
||||||
const { home, sshAgent, sshAdd } = require('./paths.js');
|
const { home, sshAgent, sshAdd } = require('./paths.js');
|
||||||
|
|
||||||
|
// FIXME: slightly modified version of never version of core.getBooleanInput
|
||||||
|
// as that doesn't respect required:false
|
||||||
|
core.getBooleanInput = function getBooleanInput(name, options) {
|
||||||
|
const trueValue = ['true', 'True', 'TRUE']
|
||||||
|
const falseValue = ['false', 'False', 'FALSE']
|
||||||
|
const val = core.getInput(name, options)
|
||||||
|
if (!val) return false // replace with default InputOption
|
||||||
|
if (trueValue.includes(val)) return true
|
||||||
|
if (falseValue.includes(val)) return false
|
||||||
|
throw new TypeError(
|
||||||
|
`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
|
||||||
|
`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const privateKey = core.getInput('ssh-private-key');
|
const privateKey = core.getInput('ssh-private-key');
|
||||||
|
const logPublicKey = core.getBooleanInput('log-public-key', {required: false});
|
||||||
|
|
||||||
if (!privateKey) {
|
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.");
|
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.");
|
||||||
|
@ -54,8 +71,9 @@ try {
|
||||||
const parts = key.match(/\bgithub\.com[:/]([_.a-z0-9-]+\/[_.a-z0-9-]+)/i);
|
const parts = key.match(/\bgithub\.com[:/]([_.a-z0-9-]+\/[_.a-z0-9-]+)/i);
|
||||||
|
|
||||||
if (!parts) {
|
if (!parts) {
|
||||||
|
if (logPublicKey) {
|
||||||
console.log(`Comment for (public) key '${key}' does not match GitHub URL pattern. Not treating it as a GitHub deploy key.`);
|
console.log(`Comment for (public) key '${key}' does not match GitHub URL pattern. Not treating it as a GitHub deploy key.`);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue