docs icon indicating copy to clipboard operation
docs copied to clipboard

Inconsistent allowed contexts for reusable workflow secrets/inputs

Open matiboux opened this issue 3 months ago • 4 comments

Code of Conduct

What article on docs.github.com is affected?

  • https://docs.github.com/en/actions/reference/workflows-and-actions/contexts
  • https://docs.github.com/en/actions/reference/workflows-and-actions/reusable-workflows

What part(s) of the article would you like to see updated?

I have found inconsistencies between the actions/reference/workflows-and-actions/contexts.md and the actions/reference/workflows-and-actions/reusable-workflows.md pages.

The reusable-workflows.md page defines contexts for jobs.<job_id>.secrets.<secret_id> and jobs.<job_id>.with.<input_id> like so:

## `jobs.<job_id>.with.<input_id>`

[...]

Allowed expression contexts: `github`, and `needs`.
## `jobs.<job_id>.secrets.<secret_id>`

[...]

Allowed expression contexts: `github`, `needs`, and `secrets`.

~~This seems to match observed behavior that the following using vars, using a reusable workflow that requires a secret, does not work:~~ After testing in a different and cleaner environment, this actually does not match the observed behavior, as the following using vars, using a reusable workflow that requires a secret, does work:

jobs:
  job:
    uses: job.yml
    secrets:
      MY_SECRET: ${{ vars.MY_SECRET }}

Indeed, the contexts.md page defines these contexts like so:

| `jobs.<job_id>.secrets.<secrets_id>` | `github, needs, strategy, matrix, secrets, inputs, vars` | None |
| `jobs.<job_id>.with.<with_id>` | `github, needs, strategy, matrix, inputs, vars` | None |

~~So I would have expected vars to work in this context, but it does not.~~

Also while we are at it, note the workflow keys are not consistent: secrets_id vs secret_id, and with_id vs input_id.

Therefore I would suggest to:

  • Rename the workflow keys in the contexts.md page to match those in the reusable-workflows.md page,
  • Update the "allowed expression contexts" in the reusable-workflows.md page to match what is described in the contexts.md page.

Additional information

No response

matiboux avatar Sep 16 '25 09:09 matiboux

Thanks for opening this issue. A GitHub docs team member should be by to give feedback soon. In the meantime, please check out the contributing guidelines.

welcome[bot] avatar Sep 16 '25 09:09 welcome[bot]

Following new testing in a cleaner environment, it appears that the initial assumption was incorrect. The issue and PR has been updated to consider the allowed expression contexts from contexts.md as the source of truth and resolve inconsistencies accordingly.

matiboux avatar Sep 16 '25 11:09 matiboux

@matiboux Thanks for opening an issue and PR! I'll take this over to our SMEs to make sure all of this behavior is intended, and I'll let you know what I find out.

Sharra-writes avatar Sep 16 '25 19:09 Sharra-writes

A stale label has been added to this issue, because it has been open for 30 days with no activity. If you think this issue should remain open, please add a new comment.

github-actions[bot] avatar Nov 18 '25 16:11 github-actions[bot]