diff --git a/src/Runner.Worker/ActionManifestManager.cs b/src/Runner.Worker/ActionManifestManager.cs index 30520b976..3dce12325 100644 --- a/src/Runner.Worker/ActionManifestManager.cs +++ b/src/Runner.Worker/ActionManifestManager.cs @@ -476,6 +476,7 @@ namespace GitHub.Runner.Worker { if (stepsLoaded == null) { + // TODO: Add a more helpful error message + including file name, etc. to show user that it's because of their yaml file throw new ArgumentNullException($"No steps provided."); } else diff --git a/src/Runner.Worker/ExecutionContext.cs b/src/Runner.Worker/ExecutionContext.cs index 09de26d86..b4af2d0cf 100644 --- a/src/Runner.Worker/ExecutionContext.cs +++ b/src/Runner.Worker/ExecutionContext.cs @@ -283,7 +283,7 @@ namespace GitHub.Runner.Worker // If the key already exists, we override it since the composite action env variables will have higher precedence // Note that for each composite action step, it's environment variables will be set in the StepRunner automatically step.ExecutionContext.SetEnvironmentVariables(envData); - Root.JobSteps.Insert(0, step); + Root.JobSteps.Insert(location, step); } public void SetEnvironmentVariables(Dictionary dict) diff --git a/src/Runner.Worker/action_yaml.json b/src/Runner.Worker/action_yaml.json index 03ceca84e..a8ec3a2e4 100644 --- a/src/Runner.Worker/action_yaml.json +++ b/src/Runner.Worker/action_yaml.json @@ -105,6 +105,10 @@ "job", "runner", "env", + "always(0,0)", + "failure(0,0)", + "cancelled(0,0)", + "success(0,0)", "hashFiles(1,255)" ], "sequence": {