private async Task <VoidOperationResult> BuildAgentAsync(GitRepository agentRepository) { var args = new ShellRunnerArgs(agentRepository.Directory, "docker", false, $"build -f {Path.Combine("Elevator.Agent", "Dockerfile")} -t agent ."); var buildAgentResult = await shellRunner.RunAsync(args); if (!buildAgentResult.IsSuccessful) { return(VoidOperationResult.Failed($"Cannot build agent image. Error: '{buildAgentResult.Error}'")); } logger.LogInformation(await buildAgentResult.Value.Output.ReadToEndAsync()); return(VoidOperationResult.Success()); }
public async Task <VoidOperationResult> CheckoutAsync(string branch) { using var scope = logger.BeginScope("Checkout"); var shellRunnerArgs = new ShellRunnerArgs(Directory, "git", false, "checkout", branch); var checkoutProcessResult = await shellRunner.RunAsync(shellRunnerArgs); if (!checkoutProcessResult.IsSuccessful) { return(VoidOperationResult.Failed(checkoutProcessResult.Error)); } logger.LogInformation(await checkoutProcessResult.Value.Error.ReadToEndAsync()); return(VoidOperationResult.Success()); }