Пример #1
0
        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}");
            }
        }
Пример #2
0
        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));
            }
        }