Files
act_runner/act/runner/testdata
Nicolas 16357a34b2 fix: accept natively typed boolean workflow inputs (#1087)
Gitea 1.27 resolves `workflow_call` inputs server-side and sends natively typed JSON values in `github.event.inputs`, so a `type: boolean` input now arrives as a real JSON boolean. The runner coerced booleans by comparing the `any` value against the string `"true"`, which a native bool never matches, so every boolean input evaluated to `false` — including when the callee relied on its default, since the server pre-fills defaults into the event payload and the string fallback is never reached. This accepts a native bool and keeps the string comparison as a fallback, since `workflow_dispatch` inputs are still strings and YAML defaults decode to strings; servers before 1.27 never put a native bool in the payload, so they take the exact same code path as before.

The same coercion is applied to `setupWorkflowInputs` (locally-called reusable workflows, `uses: ./.gitea/workflows/x.yml`), where a `type: boolean` input was previously a native bool when passed as `with: { flag: true }` but a string when interpolated or taken from `default:`. It is now always a bool, matching GitHub, whose `inputs` context "preserves Boolean values as Booleans instead of converting them to strings". **This is potentially breaking**: `inputs.flag == 'true'` now evaluates to `false` and must become `inputs.flag == true`. That pattern is already false on GitHub (a bool compared to a string coerces to `1 == NaN`), but it works on Gitea today, so I am happy to split this hunk into its own PR if you would rather keep this one backport-safe.

Fixes #1082

Reviewed-on: https://gitea.com/gitea/runner/pulls/1087
Reviewed-by: Zettat123 <39446+zettat123@noreply.gitea.com>
Co-authored-by: Nicolas <bircni@icloud.com>
2026-07-14 20:16:19 +00:00
..
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00
2026-04-22 22:29:06 +02:00