Support replacing runners in v2 flow (#2791)

* Support replacing runners in v2 flow

* Use correct endpoint for listing runners

* fix test

* really fix test

* lint
This commit is contained in:
Luke Tomlinson
2023-08-31 09:55:05 -04:00
committed by GitHub
parent be65955a9d
commit 0e9e9f1e8d
4 changed files with 40 additions and 7 deletions

View File

@@ -244,7 +244,7 @@ namespace GitHub.Runner.Listener.Configuration
List<TaskAgent> agents;
if (runnerSettings.UseV2Flow)
{
agents = await _dotcomServer.GetRunnersAsync(runnerSettings.PoolId, runnerSettings.GitHubUrl, registerToken, runnerSettings.AgentName);
agents = await _dotcomServer.GetRunnerByNameAsync(runnerSettings.GitHubUrl, registerToken, runnerSettings.AgentName);
}
else
{
@@ -263,7 +263,23 @@ namespace GitHub.Runner.Listener.Configuration
try
{
agent = await _runnerServer.ReplaceAgentAsync(runnerSettings.PoolId, agent);
if (runnerSettings.UseV2Flow)
{
var runner = await _dotcomServer.ReplaceRunnerAsync(runnerSettings.PoolId, agent, runnerSettings.GitHubUrl, registerToken, publicKeyXML);
runnerSettings.ServerUrlV2 = runner.RunnerAuthorization.ServerUrl;
agent.Id = runner.Id;
agent.Authorization = new TaskAgentAuthorization()
{
AuthorizationUrl = runner.RunnerAuthorization.AuthorizationUrl,
ClientId = new Guid(runner.RunnerAuthorization.ClientId)
};
}
else
{
agent = await _runnerServer.ReplaceAgentAsync(runnerSettings.PoolId, agent);
}
if (command.DisableUpdate &&
command.DisableUpdate != agent.DisableUpdate)
{