Skip to content

Commit

Permalink
update repo clone to checkout default branch override
Browse files Browse the repository at this point in the history
  • Loading branch information
dabutvin committed Oct 27, 2019
1 parent d12740f commit dc4f40b
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 3 deletions.
23 changes: 23 additions & 0 deletions CompressImagesFunction/CompressImages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,29 @@ public static bool Run(CompressimagesParameters parameters, ILogger logger)
logger.LogWarning(e, "CompressImagesFunction: issue checking for existing branch or empty repo for {Owner}/{RepoName}", parameters.RepoOwner, parameters.RepoName);
}

// check if we should switch away from the default branch
if (parameters.Settings != null && !string.IsNullOrEmpty(parameters.Settings.DefaultBranchOverride))
{
logger.LogInformation(
"CompressImagesFunction: default branch override for {Owner}/{RepoName} is {DefaultBranchOverride}",
parameters.RepoOwner,
parameters.RepoName,
parameters.Settings.DefaultBranchOverride);

var baseBranch = repo.Branches[parameters.Settings.DefaultBranchOverride];
if (baseBranch == null)
{
logger.LogWarning(
"CompressImagesFunction: default branch ({DefaultBranchOverride}) not found for {Owner}/{RepoName}",
parameters.Settings.DefaultBranchOverride,
parameters.RepoOwner,
parameters.RepoName);
return false;
}

Commands.Checkout(repo, baseBranch);
}

var repoConfiguration = new RepoConfiguration();

try
Expand Down
10 changes: 7 additions & 3 deletions CompressImagesFunction/CompressImagesFunction.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Common;
using Common.Messages;
using Install;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Microsoft.WindowsAzure.Storage.Table;

namespace CompressImagesFunction
{
Expand All @@ -17,13 +17,14 @@ public static async Task Trigger(
[QueueTrigger("compressimagesmessage")]CompressImagesMessage compressImagesMessage,
[Queue("longrunningcompressmessage")] ICollector<CompressImagesMessage> longRunningCompressMessages,
[Queue("openprmessage")] ICollector<OpenPrMessage> openPrMessages,
[Table("settings")] CloudTable settingsTable,
ILogger logger,
ExecutionContext context)
{
logger.LogInformation($"Starting compress");
var installationTokenProvider = new InstallationTokenProvider();
var repoChecks = new RepoChecks();
var task = RunAsync(installationTokenProvider, compressImagesMessage, openPrMessages, repoChecks, logger, context);
var task = RunAsync(installationTokenProvider, compressImagesMessage, openPrMessages, settingsTable, repoChecks, logger, context);
if (await Task.WhenAny(task, Task.Delay(570000)) == task)
{
await task;
Expand All @@ -39,20 +40,22 @@ public static async Task Trigger(
public static async Task LongTrigger(
[QueueTrigger("longrunningcompressmessage")]CompressImagesMessage compressImagesMessage,
[Queue("openprmessage")] ICollector<OpenPrMessage> openPrMessages,
[Table("settings")] CloudTable settingsTable,
ILogger logger,
ExecutionContext context)
{
logger.LogInformation($"Starting long compress");
var installationTokenProvider = new InstallationTokenProvider();
var repoChecks = new RepoChecks();
var task = RunAsync(installationTokenProvider, compressImagesMessage, openPrMessages, repoChecks, logger, context);
var task = RunAsync(installationTokenProvider, compressImagesMessage, openPrMessages, settingsTable, repoChecks, logger, context);
await task;
}

public static async Task RunAsync(
IInstallationTokenProvider installationTokenProvider,
CompressImagesMessage compressImagesMessage,
ICollector<OpenPrMessage> openPrMessages,
CloudTable settingsTable,
IRepoChecks repoChecks,
ILogger logger,
ExecutionContext context)
Expand Down Expand Up @@ -106,6 +109,7 @@ public static async Task RunAsync(
PgpPrivateKey = KnownEnvironmentVariables.PGP_PRIVATE_KEY,
PgPPassword = KnownEnvironmentVariables.PGP_PASSWORD,
CompressImagesMessage = compressImagesMessage,
Settings = await Common.TableModels.SettingsHelper.GetSettings(settingsTable, compressImagesMessage.InstallationId, compressImagesMessage.RepoName),
};

var didCompress = CompressImages.Run(compressImagesParameters, logger);
Expand Down
2 changes: 2 additions & 0 deletions CompressImagesFunction/CompressimagesParameters.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ public class CompressimagesParameters

public string PgPPassword { get; set; }

public Common.TableModels.Settings Settings { get; set; }

public CompressImagesMessage CompressImagesMessage { get; set; }
}
}

0 comments on commit dc4f40b

Please sign in to comment.