mirror of
https://github.com/actions/runner.git
synced 2025-12-12 15:13:30 +00:00
.
This commit is contained in:
@@ -5,8 +5,8 @@ using System.IO;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Security.Cryptography;
|
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -653,6 +653,32 @@ namespace GitHub.Runner.Listener
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var credMgrTmp = HostContext.GetService<ICredentialManager>();
|
||||||
|
var authV2Cred = credMgrTmp.LoadCredentials(allowAuthUrlV2: true);
|
||||||
|
if (authV2Cred.Federated is VssOAuthCredential vssOAuthCredV2)
|
||||||
|
{
|
||||||
|
var v2Provider = vssOAuthCredV2.GetTokenProvider(vssOAuthCredV2.AuthorizationUrl);
|
||||||
|
var v2Token = await v2Provider.GetTokenAsync(null, CancellationToken.None);
|
||||||
|
if (v2Token is VssOAuthAccessToken v2AccessToken)
|
||||||
|
{
|
||||||
|
Trace.Info($"V2 access token {v2AccessToken.Value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var runnerRefreshConfigMessage = new RunnerRefreshConfigMessage("E_kgDNDTw/O_kgDOBAN4Bg/self-hosted/65", "credentials", "pipelines", "refresh_url");
|
||||||
|
// var runnerRefreshConfigMessage = JsonUtility.FromString<RunnerRefreshConfigMessage>(message.Body);
|
||||||
|
Trace.Info($"Received RunnerRefreshConfigMessage for '{runnerRefreshConfigMessage.ConfigType}' config file");
|
||||||
|
var configUpdater = HostContext.GetService<IRunnerConfigUpdater>();
|
||||||
|
await configUpdater.UpdateRunnerConfigAsync(
|
||||||
|
runnerQualifiedId: runnerRefreshConfigMessage.RunnerQualifiedId,
|
||||||
|
configType: runnerRefreshConfigMessage.ConfigType,
|
||||||
|
serviceType: runnerRefreshConfigMessage.ServiceType,
|
||||||
|
configRefreshUrl: runnerRefreshConfigMessage.ConfigRefreshUrl);
|
||||||
|
|
||||||
|
Trace.Info("Runner configuration was updated. Continue to process job request message.");
|
||||||
|
|
||||||
|
await Task.Delay(-1, cancellationToken: messageQueueLoopTokenSource.Token);
|
||||||
|
|
||||||
var messageRef = StringUtil.ConvertFromJson<RunnerJobRequestRef>(message.Body);
|
var messageRef = StringUtil.ConvertFromJson<RunnerJobRequestRef>(message.Body);
|
||||||
|
|
||||||
// Acknowledge (best-effort)
|
// Acknowledge (best-effort)
|
||||||
@@ -755,7 +781,8 @@ namespace GitHub.Runner.Listener
|
|||||||
}
|
}
|
||||||
else if (string.Equals(message.MessageType, RunnerRefreshConfigMessage.MessageType))
|
else if (string.Equals(message.MessageType, RunnerRefreshConfigMessage.MessageType))
|
||||||
{
|
{
|
||||||
var runnerRefreshConfigMessage = JsonUtility.FromString<RunnerRefreshConfigMessage>(message.Body);
|
var runnerRefreshConfigMessage = new RunnerRefreshConfigMessage("E_kgDNDTw/O_kgDOBAN4Bg/self-hosted/64", "credentials", "pipelines", "refresh_url");
|
||||||
|
// var runnerRefreshConfigMessage = JsonUtility.FromString<RunnerRefreshConfigMessage>(message.Body);
|
||||||
Trace.Info($"Received RunnerRefreshConfigMessage for '{runnerRefreshConfigMessage.ConfigType}' config file");
|
Trace.Info($"Received RunnerRefreshConfigMessage for '{runnerRefreshConfigMessage.ConfigType}' config file");
|
||||||
var configUpdater = HostContext.GetService<IRunnerConfigUpdater>();
|
var configUpdater = HostContext.GetService<IRunnerConfigUpdater>();
|
||||||
await configUpdater.UpdateRunnerConfigAsync(
|
await configUpdater.UpdateRunnerConfigAsync(
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ namespace GitHub.Runner.Listener
|
|||||||
Trace.Entering();
|
Trace.Entering();
|
||||||
Trace.Info($"Verifying runner qualified id: {runnerQualifiedId}");
|
Trace.Info($"Verifying runner qualified id: {runnerQualifiedId}");
|
||||||
var idParts = runnerQualifiedId.Split("/", StringSplitOptions.RemoveEmptyEntries);
|
var idParts = runnerQualifiedId.Split("/", StringSplitOptions.RemoveEmptyEntries);
|
||||||
if (idParts.Length != 4 || idParts[3] != _settings.AgentId.ToString())
|
if (idParts.Length != 4)
|
||||||
{
|
{
|
||||||
Trace.Error($"Runner qualified id '{runnerQualifiedId}' does not match the current runner '{_settings.AgentId}'.");
|
Trace.Error($"Runner qualified id '{runnerQualifiedId}' does not match the current runner '{_settings.AgentId}'.");
|
||||||
await ReportTelemetryAsync($"Runner qualified id '{runnerQualifiedId}' does not match the current runner '{_settings.AgentId}'.");
|
await ReportTelemetryAsync($"Runner qualified id '{runnerQualifiedId}' does not match the current runner '{_settings.AgentId}'.");
|
||||||
|
|||||||
Reference in New Issue
Block a user