GitHub Actions reusable workflow input type mismatch in CI
Every workflow_call input declares a type: of string, boolean, or number. GitHub validates the caller value against it, so passing a quoted string where a boolean is expected fails.
What this error means
The call fails with a message that the input value does not match its declared type, or a boolean input behaves as always-true because a non-empty string was passed.
Invalid workflow file: .github/workflows/ci.yml#L11
The value for input "dry_run" does not match the declared type "boolean".
Provide a boolean expression, not a quoted string.Common causes
A quoted string passed to a boolean input
Passing dry_run: "false" sends the non-empty string "false", which is truthy. A boolean input needs an unquoted boolean expression.
A non-numeric value for a number input
A type: number input rejects a value that does not parse as a number.
How to fix it
Pass a real boolean, not a quoted string
- Use an unquoted true/false or an expression that yields a boolean.
- Avoid quoting boolean values in with:.
- Re-run so the input matches its declared type.
with:
dry_run: ${{ github.ref != 'refs/heads/main' }}Match number inputs with numeric values
Provide a numeric literal or a numeric expression for a number-typed input.
inputs:
retries:
type: number
default: 3How to prevent it
- Never quote boolean or number input values in with:.
- Declare the correct type: on every workflow_call input.
- Guard boolean inputs with fromJSON only when a string is unavoidable.