public override async Task ExecuteAsync() { _loggerService.WriteHeading("PUBLISHING MCR DOCS"); // Hookup a TraceListener in order to capture details from Microsoft.DotNet.VersionTools Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); IEnumerable <GitObject> gitObjects = GetUpdatedReadmes() .Concat(GetUpdatedTagsMetadata()); foreach (GitObject gitObject in gitObjects) { _loggerService.WriteMessage( $"Updated file '{gitObject.Path}' with contents:{Environment.NewLine}{gitObject.Content}{Environment.NewLine}"); } if (!Options.IsDryRun) { using IGitHubClient gitHubClient = _gitHubClientFactory.GetClient(Options.GitOptions.ToGitHubAuth(), Options.IsDryRun); await RetryHelper.GetWaitAndRetryPolicy <HttpRequestException>(_loggerService).ExecuteAsync(async() => { GitReference gitRef = await GitHelper.PushChangesAsync(gitHubClient, Options, $"Mirroring readmes", branch => { return(FilterUpdatedGitObjectsAsync(gitObjects, gitHubClient, branch)); }); if (gitRef != null) { _loggerService.WriteMessage(PipelineHelper.FormatOutputVariable("readmeCommitDigest", gitRef.Object.Sha)); } }); } }