getInput empty returned value
y-nk opened this issue · 0 comments
y-nk commented
Describe the bug
When using core.getInput
in a composite action, the returned value is empty.
To Reproduce
Steps to reproduce the behavior:
- Create a composite action with an input
- Use github-script action and try
core.getInput
on the input - Use the composite action in a workflow
- Set the input with a value
- See error
Expected behavior
The value should be returned as provided
Additional context
The root cause is known and is on actions/runner side (here) but i think we should so something about it in here too. A warning about missing env var could be a quick win, and avoid people not knowing why it failed.
Proposed implementation
toolkit/packages/core/src/core.ts
Lines 117 to 138 in 1b5a6e2
export function getInput(name: string, options?: InputOptions): string {
const inputKey = `INPUT_${name.replace(/ /g, '_').toUpperCase()`
const val: string =
process.env[inputKey] || ''
if (!(inputKey in process.env)) {
warn(`the input '${inputKey}' is missing from env`)
}
if (options && options.required && !val) {
throw new Error(`Input required and not supplied: ${name}`)
}
if (options && options.trimWhitespace === false) {
return val
}
return val.trim()
}