mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-09 18:11:26 +00:00

* refactor renaming agent base and removing unused stuff Authored-by: Kosta Petan <kopetan@microsoft.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Kosta Petan <kopetan@microsoft.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ryan Sweet <rysweet@microsoft.com> Co-authored-by: Victor Dibia <victordibia@microsoft.com>
102 lines
3.6 KiB
C#
102 lines
3.6 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Sandbox.cs
|
|
|
|
// namespace DevTeam.Backend;
|
|
|
|
// public sealed class Sandbox : Agent
|
|
// {
|
|
// private const string ReminderName = "SandboxRunReminder";
|
|
// private readonly IManageAzure _azService;
|
|
// // private readonly IPersistentState<SandboxMetadata> _state;
|
|
|
|
// public Sandbox(IManageAzure azService)
|
|
// {
|
|
// _azService = azService;
|
|
// _state = state;
|
|
// }
|
|
// public override async Task HandleEvent(Event item)
|
|
// {
|
|
// ArgumentNullException.ThrowIfNull(item);
|
|
|
|
// switch (item.Type)
|
|
// {
|
|
// case nameof(EventTypes.SandboxRunCreated):
|
|
// {
|
|
// var context = item.ToGithubContext();
|
|
// await ScheduleCommitSandboxRun(context.Org, context.Repo, context.ParentNumber!.Value, context.IssueNumber);
|
|
// break;
|
|
// }
|
|
|
|
// default:
|
|
// break;
|
|
// }
|
|
// }
|
|
// public async Task ScheduleCommitSandboxRun(string org, string repo, long parentIssueNumber, long issueNumber)
|
|
// {
|
|
// await StoreState(org, repo, parentIssueNumber, issueNumber);
|
|
// _reminder = await _reminderRegistry.RegisterOrUpdateReminder(
|
|
// callingGrainId: this.GetGrainId(),
|
|
// reminderName: ReminderName,
|
|
// dueTime: TimeSpan.Zero,
|
|
// period: TimeSpan.FromMinutes(1));
|
|
// }
|
|
|
|
// async Task IRemindable.ReceiveReminder(string reminderName, TickStatus status)
|
|
// {
|
|
// if (!_state.State.IsCompleted)
|
|
// {
|
|
// var sandboxId = $"sk-sandbox-{_state.State.Org}-{_state.State.Repo}-{_state.State.ParentIssueNumber}-{_state.State.IssueNumber}".ToUpperInvariant();
|
|
|
|
// if (await _azService.IsSandboxCompleted(sandboxId))
|
|
// {
|
|
// await _azService.DeleteSandbox(sandboxId);
|
|
// await PublishEventAsync(new Event
|
|
// {
|
|
// Namespace = this.GetPrimaryKeyString(),
|
|
// Type = nameof(GithubFlowEventType.SandboxRunFinished),
|
|
// Data = new Dictionary<string, string>
|
|
// {
|
|
// ["org"] = _state.State.Org,
|
|
// ["repo"] = _state.State.Repo,
|
|
// ["issueNumber"] = _state.State.IssueNumber.ToString(),
|
|
// ["parentNumber"] = _state.State.ParentIssueNumber.ToString()
|
|
// }
|
|
// });
|
|
// await Cleanup();
|
|
// }
|
|
// }
|
|
// else
|
|
// {
|
|
// await Cleanup();
|
|
// }
|
|
// }
|
|
|
|
// private async Task StoreState(string org, string repo, long parentIssueNumber, long issueNumber)
|
|
// {
|
|
// _state.State.Org = org;
|
|
// _state.State.Repo = repo;
|
|
// _state.State.ParentIssueNumber = parentIssueNumber;
|
|
// _state.State.IssueNumber = issueNumber;
|
|
// _state.State.IsCompleted = false;
|
|
// await _state.WriteStateAsync();
|
|
// }
|
|
|
|
// private async Task Cleanup()
|
|
// {
|
|
// _state.State.IsCompleted = true;
|
|
// await _reminderRegistry.UnregisterReminder(
|
|
// this.GetGrainId(), _reminder);
|
|
// await _state.WriteStateAsync();
|
|
// }
|
|
|
|
// }
|
|
|
|
// public class SandboxMetadata
|
|
// {
|
|
// public string Org { get; set; } = default!;
|
|
// public string Repo { get; set; } = default!;
|
|
// public long ParentIssueNumber { get; set; }
|
|
// public long IssueNumber { get; set; }
|
|
// public bool IsCompleted { get; set; }
|
|
// }
|