mirror of
https://github.com/actions/runner.git
synced 2026-01-08 03:07:39 +08:00
Compare commits
3 Commits
nikola-jok
...
thboop/tes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e583ee157 | ||
|
|
1c69531e97 | ||
|
|
72559572f6 |
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
|
|||||||
using GitHub.Actions.RunService.WebApi;
|
using GitHub.Actions.RunService.WebApi;
|
||||||
using GitHub.DistributedTask.Pipelines;
|
using GitHub.DistributedTask.Pipelines;
|
||||||
using GitHub.DistributedTask.WebApi;
|
using GitHub.DistributedTask.WebApi;
|
||||||
|
using GitHub.Runner.Common.Util;
|
||||||
using GitHub.Runner.Sdk;
|
using GitHub.Runner.Sdk;
|
||||||
using GitHub.Services.Common;
|
using GitHub.Services.Common;
|
||||||
using Sdk.RSWebApi.Contracts;
|
using Sdk.RSWebApi.Contracts;
|
||||||
@@ -60,7 +61,7 @@ namespace GitHub.Runner.Common
|
|||||||
{
|
{
|
||||||
CheckConnection();
|
CheckConnection();
|
||||||
return RetryRequest<AgentJobRequestMessage>(
|
return RetryRequest<AgentJobRequestMessage>(
|
||||||
async () => await _runServiceHttpClient.GetJobMessageAsync(requestUri, id, cancellationToken), cancellationToken,
|
async () => await _runServiceHttpClient.GetJobMessageAsync(requestUri, id, VarUtil.OS, cancellationToken), cancellationToken,
|
||||||
shouldRetry: ex => ex is not TaskOrchestrationJobAlreadyAcquiredException);
|
shouldRetry: ex => ex is not TaskOrchestrationJobAlreadyAcquiredException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -780,6 +780,16 @@ namespace GitHub.Runner.Worker
|
|||||||
Directory.CreateDirectory(destDirectory);
|
Directory.CreateDirectory(destDirectory);
|
||||||
executionContext.Output($"Download action repository '{downloadInfo.NameWithOwner}@{downloadInfo.Ref}' (SHA:{downloadInfo.ResolvedSha})");
|
executionContext.Output($"Download action repository '{downloadInfo.NameWithOwner}@{downloadInfo.Ref}' (SHA:{downloadInfo.ResolvedSha})");
|
||||||
}
|
}
|
||||||
|
// TODO We will want to make sure to feature flag this. We have the execution context easy to do.
|
||||||
|
// See "DistributedTask.UseActionArchiveCache" for how we can do that in this same function, requires server side changes
|
||||||
|
// TODO figure out the exact refs and sha's we care about.
|
||||||
|
// We can probably check if it starts with v1 or v2, and have an allowlist of a few shas.
|
||||||
|
if (downloadInfo.NameWithOwner == "actions/upload-artifact" &&
|
||||||
|
(downloadInfo.Ref.StartsWith("v1.") || (downloadInfo.Ref.StartsWith("v2.") // '.' is important to avoid v10 conflict
|
||||||
|
|| downloadInfo.Ref == "v1" || downloadInfo.Ref == "v2")))
|
||||||
|
{
|
||||||
|
executionContext.Warning($"'{downloadInfo.NameWithOwner}@{downloadInfo.Ref}' is deprecated and will be disabled on xyz. Please upgrade to 'v4'. For more information, see (blogpost here)");
|
||||||
|
}
|
||||||
|
|
||||||
//download and extract action in a temp folder and rename it on success
|
//download and extract action in a temp folder and rename it on success
|
||||||
string tempDirectory = Path.Combine(HostContext.GetDirectory(WellKnownDirectory.Actions), "_temp_" + Guid.NewGuid());
|
string tempDirectory = Path.Combine(HostContext.GetDirectory(WellKnownDirectory.Actions), "_temp_" + Guid.NewGuid());
|
||||||
|
|||||||
@@ -7,5 +7,8 @@ namespace GitHub.Actions.RunService.WebApi
|
|||||||
{
|
{
|
||||||
[DataMember(Name = "jobMessageId", EmitDefaultValue = false)]
|
[DataMember(Name = "jobMessageId", EmitDefaultValue = false)]
|
||||||
public string JobMessageId { get; set; }
|
public string JobMessageId { get; set; }
|
||||||
|
|
||||||
|
[DataMember(Name = "runnerOS", EmitDefaultValue = false)]
|
||||||
|
public string RunnerOS { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,12 +59,14 @@ namespace GitHub.Actions.RunService.WebApi
|
|||||||
public async Task<AgentJobRequestMessage> GetJobMessageAsync(
|
public async Task<AgentJobRequestMessage> GetJobMessageAsync(
|
||||||
Uri requestUri,
|
Uri requestUri,
|
||||||
string messageId,
|
string messageId,
|
||||||
|
string runnerOS,
|
||||||
CancellationToken cancellationToken = default)
|
CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
HttpMethod httpMethod = new HttpMethod("POST");
|
HttpMethod httpMethod = new HttpMethod("POST");
|
||||||
var payload = new AcquireJobRequest
|
var payload = new AcquireJobRequest
|
||||||
{
|
{
|
||||||
JobMessageId = messageId,
|
JobMessageId = messageId,
|
||||||
|
RunnerOS = runnerOS
|
||||||
};
|
};
|
||||||
|
|
||||||
requestUri = new Uri(requestUri, "acquirejob");
|
requestUri = new Uri(requestUri, "acquirejob");
|
||||||
|
|||||||
Reference in New Issue
Block a user