feat(shell): checks only the shell name and allows any argument (#118)

Co-authored-by: ureciocais <urecio@caisgroup.com>
Co-authored-by: Nick Fields <46869826+nick-fields@users.noreply.github.com>
This commit is contained in:
Unai Recio
2023-09-26 15:56:58 +02:00
committed by GitHub
parent 1d41e5db1a
commit 1139f998ef
2 changed files with 13 additions and 10 deletions

11
dist/index.js vendored
View File

@@ -948,7 +948,8 @@ function getExecutable(inputs) {
return OS === 'win32' ? 'powershell' : 'bash';
}
var executable;
switch (inputs.shell) {
var shellName = inputs.shell.split(' ')[0];
switch (shellName) {
case 'bash':
case 'python':
case 'pwsh': {
@@ -957,7 +958,7 @@ function getExecutable(inputs) {
}
case 'sh': {
if (OS === 'win32') {
throw new Error("Shell ".concat(inputs.shell, " not allowed on OS ").concat(OS));
throw new Error("Shell ".concat(shellName, " not allowed on OS ").concat(OS));
}
executable = inputs.shell;
break;
@@ -965,13 +966,13 @@ function getExecutable(inputs) {
case 'cmd':
case 'powershell': {
if (OS !== 'win32') {
throw new Error("Shell ".concat(inputs.shell, " not allowed on OS ").concat(OS));
throw new Error("Shell ".concat(shellName, " not allowed on OS ").concat(OS));
}
executable = inputs.shell + '.exe';
executable = shellName + '.exe' + inputs.shell.replace(shellName, '');
break;
}
default: {
throw new Error("Shell ".concat(inputs.shell, " not supported. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell for supported shells"));
throw new Error("Shell ".concat(shellName, " not supported. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell for supported shells"));
}
}
return executable;