vscode-github-actions icon indicating copy to clipboard operation
vscode-github-actions copied to clipboard

Do not warn about missing values if a fallback is provided

Open qc00 opened this issue 2 years ago • 2 comments

Is your feature request related to a problem? Please describe. I want to allow many values to be overridden using vars but still provide defaults/fallback values when the var is not set. This is possible with the "or" operator:

${{vars.optional_config || 'default value'}}

However, this currently generates a warning "Context access might be invalid: optional_config"

Describe the solution you'd like The static analyser should detect that the || operator provides a default and not generate a warning.

Alternatively, provide a function (e.g. val_or_default(vars.optional_config, 'default value')) to make the user's intention explicit to the linter.

qc00 avatar Mar 31 '23 11:03 qc00

Possibly related, what are you supposed to do if you don't have a fallback? If a value is required, to the point where the action should error if not present, is there a way to achieve this?

christopher-caldwell avatar Mar 31 '23 17:03 christopher-caldwell

@christopher-caldwell Good point! Instead of val_or_default, the function can have the signature required_value(expr, [default]). Then if the variable is not set and the default argument is not supplied, the workflow fails.

qc00 avatar Mar 31 '23 18:03 qc00