diff --git a/src/Runner.Worker/ActionRunner.cs b/src/Runner.Worker/ActionRunner.cs index 0c4cc76ce..81ecf1a14 100644 --- a/src/Runner.Worker/ActionRunner.cs +++ b/src/Runner.Worker/ActionRunner.cs @@ -187,13 +187,19 @@ namespace GitHub.Runner.Worker // Validate inputs only for actions with action.yml if (Action.Reference.Type == Pipelines.ActionSourceType.Repository) { + var unexpectedInputs = new List(); foreach (var input in userInputs) { if (!validInputs.Contains(input)) { - ExecutionContext.Warning($"Unexpected input '{input}', valid inputs are ['{string.Join("', '", validInputs)}']"); + unexpectedInputs.Add(input); } } + + if (unexpectedInputs.Count > 0) + { + ExecutionContext.Warning($"Unexpected input(s) '{string.Join("', '", unexpectedInputs)}', valid inputs are ['{string.Join("', '", validInputs)}']"); + } } // Load the action environment. diff --git a/src/Test/L0/Worker/ActionRunnerL0.cs b/src/Test/L0/Worker/ActionRunnerL0.cs index f8185d26d..662ea307d 100644 --- a/src/Test/L0/Worker/ActionRunnerL0.cs +++ b/src/Test/L0/Worker/ActionRunnerL0.cs @@ -328,8 +328,7 @@ namespace GitHub.Runner.Common.Tests.Worker Assert.Equal("invalid1", finialInputs["invalid1"]); Assert.Equal("invalid2", finialInputs["invalid2"]); - _ec.Verify(x => x.AddIssue(It.Is(s => s.Message.Contains("Unexpected input 'invalid1'")), It.IsAny()), Times.Once); - _ec.Verify(x => x.AddIssue(It.Is(s => s.Message.Contains("Unexpected input 'invalid2'")), It.IsAny()), Times.Once); + _ec.Verify(x => x.AddIssue(It.Is(s => s.Message.Contains("Unexpected input(s) 'invalid1', 'invalid2'")), It.IsAny()), Times.Once); } private void Setup([CallerMemberName] string name = "")