public static async Task Run() { var environment = Util.GetEnvironment(); var input = ""; if (!string.IsNullOrEmpty(environment.InputFile)) { input = File.ReadAllText(environment.InputFile); } else { input = Console.ReadLine(); } try { var output = await StepRunner.Run(environment, input); var outputLoc = Environment.GetEnvironmentVariable("WORKFLOW_OUTPUT"); if (output != null && output.Count > 0) { var outString = JsonConvert.SerializeObject(output); if (string.IsNullOrEmpty(outputLoc)) { Console.WriteLine(outString); } else { File.WriteAllText(outputLoc, outString); } } } catch (Exception e) { Console.WriteLine($"Step failed with exception: {e}"); } }
public override async Task <StepOutput> RunStep(RunStepRequest request, ServerCallContext context) { var inputBytes = request.Input; var inputStr = inputBytes.ToStringUtf8(); try { var output = await StepRunner.Run(request.Environment, inputStr); ByteString byteString = null; if (output != null) { var str = JsonConvert.SerializeObject(output); byteString = ByteString.CopyFromUtf8(str); } return(new StepOutput { Output = byteString }); } catch (Exception e) { throw new RpcException(new Status(StatusCode.Internal, e.Message)); } }