fix: allow mapping into env variable INPUT_N from ${{ inputs.n }}

This commit is contained in:
Mathieu Fenniak 2025-10-10 10:24:14 -06:00
parent bda2295f71
commit fe409b162c
No known key found for this signature in database
4 changed files with 32 additions and 2 deletions

View file

@ -479,8 +479,6 @@ func rewriteSubExpression(ctx context.Context, in string, forceFormat bool) (str
func getEvaluatorInputs(ctx context.Context, rc *RunContext, step step, ghc *model.GithubContext) map[string]any {
inputs := map[string]any{}
setupWorkflowInputs(ctx, &inputs, rc)
var env map[string]string
if step != nil {
env = *step.getEnv()
@ -494,6 +492,8 @@ func getEvaluatorInputs(ctx context.Context, rc *RunContext, step step, ghc *mod
}
}
setupWorkflowInputs(ctx, &inputs, rc)
if rc.caller == nil && ghc.EventName == "workflow_dispatch" {
config := rc.Run.Workflow.WorkflowDispatchConfig()
if config != nil && config.Inputs != nil {

View file

@ -263,6 +263,7 @@ func TestRunner_RunEvent(t *testing.T) {
{workdir, "uses-workflow", "pull_request", "", platforms, map[string]string{"secret": "keep_it_private"}},
{workdir, "uses-docker-url", "push", "", platforms, secrets},
{workdir, "act-composite-env-test", "push", "", platforms, secrets},
{workdir, "uses-workflow-env-input", "push", "", platforms, secrets},
// Eval
{workdir, "evalmatrix", "push", "", platforms, secrets},

View file

@ -0,0 +1,21 @@
name: "use-inputs-impl"
on:
workflow_call:
inputs:
greet_target:
type: string
required: false
default: "Some Default Value"
jobs:
works:
runs-on: ubuntu-latest
env:
MY_INPUT_TEST: ${{ inputs.greet_target }}
INPUT_TEST: ${{ inputs.greet_target }}
INPUT_GREET_TARGET: ${{ inputs.greet_target }}
steps:
- run: '[ "$MY_INPUT_TEST" = "Mona the Octocat" ] || exit 1'
- run: '[ "$INPUT_TEST" = "Mona the Octocat" ] || exit 1'
- run: '[ "$INPUT_GREET_TARGET" = "Mona the Octocat" ] || exit 1'

View file

@ -0,0 +1,8 @@
name: local-action-env-input
on: push
jobs:
test:
runs-on: docker
uses: ./testdata/.github/workflows/local-reusable-env-input.yml
with:
greet_target: 'Mona the Octocat'