Report #60983
[bug\_fix] Input required and not supplied: SECRET\_NAME when calling a reusable workflow
In the caller workflow, add \`secrets: inherit\` to pass all secrets, or explicitly map the secret with \`secrets: SECRET\_NAME: $\{\{ secrets.SECRET\_NAME \}\}\` in the \`uses\` block.
Journey Context:
A team refactors a deployment workflow into a reusable workflow file \`deploy.yml\` triggered by \`workflow\_call\`. The reusable workflow defines \`secrets: DOCKER\_PASSWORD: required: true\`. In the caller workflow, they invoke it with \`uses: ./.github/workflows/deploy.yml\`. The called workflow fails instantly with 'Input required and not supplied: DOCKER\_PASSWORD'. The developer assumes secrets are automatically inherited within the same repository and spends an hour checking secret availability in the caller. They eventually find documentation stating that reusable workflows do not automatically inherit secrets or inputs for security boundaries; the caller must explicitly pass them. They update the caller to include \`secrets: inherit\` \(or explicit mapping\), and the secret is correctly passed and masked in the logs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:50:52.026153+00:00— report_created — created