mirror of
https://github.com/actions/runner.git
synced 2025-12-11 04:46:58 +00:00
Compare commits
4 Commits
pje/delete
...
AddBuildIm
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8547726905 | ||
|
|
7287a14f9f | ||
|
|
cdd8a8e694 | ||
|
|
1fc63f4aaa |
@@ -5,7 +5,6 @@ using System.Threading.Tasks;
|
||||
using GitHub.Actions.RunService.WebApi;
|
||||
using GitHub.DistributedTask.Pipelines;
|
||||
using GitHub.DistributedTask.WebApi;
|
||||
using GitHub.Runner.Common.Util;
|
||||
using GitHub.Runner.Sdk;
|
||||
using GitHub.Services.Common;
|
||||
using Sdk.RSWebApi.Contracts;
|
||||
@@ -19,7 +18,6 @@ namespace GitHub.Runner.Common
|
||||
Task ConnectAsync(Uri serverUrl, VssCredentials credentials);
|
||||
|
||||
Task<TaskAgentMessage> GetRunnerMessageAsync(CancellationToken token, TaskAgentStatus status, string version);
|
||||
Task<bool> DeleteRunnerMessageAsync(string messageID, CancellationToken token);
|
||||
}
|
||||
|
||||
public sealed class BrokerServer : RunnerService, IBrokerServer
|
||||
@@ -50,20 +48,9 @@ namespace GitHub.Runner.Common
|
||||
{
|
||||
CheckConnection();
|
||||
var jobMessage = RetryRequest<TaskAgentMessage>(
|
||||
async () => await _brokerHttpClient.GetRunnerMessageAsync(version, status, cancellationToken), cancellationToken
|
||||
);
|
||||
async () => await _brokerHttpClient.GetRunnerMessageAsync(version, status, cancellationToken), cancellationToken);
|
||||
|
||||
return jobMessage;
|
||||
}
|
||||
|
||||
public Task<bool> DeleteRunnerMessageAsync(string messageID, CancellationToken cancellationToken)
|
||||
{
|
||||
CheckConnection();
|
||||
|
||||
return RetryRequest(
|
||||
async () => await _brokerHttpClient.DeleteRunnerMessageAsync(messageID, cancellationToken),
|
||||
cancellationToken
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,17 +170,7 @@ namespace GitHub.Runner.Listener
|
||||
|
||||
public async Task DeleteMessageAsync(TaskAgentMessage message)
|
||||
{
|
||||
Trace.Entering();
|
||||
|
||||
if (MessageUtil.IsRunServiceJob(message.MessageType))
|
||||
{
|
||||
var messageRef = StringUtil.ConvertFromJson<RunnerJobRequestRef>(message.Body);
|
||||
|
||||
using (var cs = new CancellationTokenSource(TimeSpan.FromSeconds(30)))
|
||||
{
|
||||
await _brokerServer.DeleteRunnerMessageAsync(messageRef.RunnerRequestId, cs.Token);
|
||||
}
|
||||
}
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
private bool IsGetNextMessageExceptionRetriable(Exception ex)
|
||||
|
||||
@@ -392,7 +392,6 @@ namespace GitHub.Runner.Listener
|
||||
{
|
||||
TaskAgentMessage message = null;
|
||||
bool skipMessageDeletion = false;
|
||||
bool useBrokerDeletion = false;
|
||||
try
|
||||
{
|
||||
Task<TaskAgentMessage> getNextMessage = _listener.GetNextMessageAsync(messageQueueLoopTokenSource.Token);
|
||||
@@ -601,15 +600,7 @@ namespace GitHub.Runner.Listener
|
||||
{
|
||||
try
|
||||
{
|
||||
if (useBrokerDeletion)
|
||||
{
|
||||
// await _listener.DeleteMessageAsync(brokerDeletionParamsMessageID, brokerDeletionParamsToken);
|
||||
await _listener.DeleteMessageAsync(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
await _listener.DeleteMessageAsync(message);
|
||||
}
|
||||
await _listener.DeleteMessageAsync(message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -88,28 +88,5 @@ namespace GitHub.Actions.RunService.WebApi
|
||||
|
||||
throw new Exception($"Failed to get job message: {result.Error}");
|
||||
}
|
||||
|
||||
public async Task<bool> DeleteRunnerMessageAsync(
|
||||
string messageID,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
var requestUri = new Uri(Client.BaseAddress, "message");
|
||||
|
||||
List<KeyValuePair<string, string>> queryParams = new List<KeyValuePair<string, string>>();
|
||||
|
||||
if (messageID != null)
|
||||
{
|
||||
queryParams.Add("messageID", messageID);
|
||||
}
|
||||
|
||||
var result = await SendAsync<TaskAgentMessage>(
|
||||
new HttpMethod("DELETE"),
|
||||
requestUri: requestUri,
|
||||
queryParameters: queryParams,
|
||||
cancellationToken: cancellationToken);
|
||||
|
||||
return (result.IsSuccess);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="3.2.0">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
|
||||
|
||||
12
src/dev.sh
12
src/dev.sh
@@ -194,6 +194,10 @@ function layout ()
|
||||
|
||||
function runtest ()
|
||||
{
|
||||
if [[ ! -d "$LAYOUT_DIR" ]]; then
|
||||
echo "$LAYOUT_DIR doesn't exist. Generating it now ..."
|
||||
layout
|
||||
fi
|
||||
heading "Testing ..."
|
||||
|
||||
if [[ ("$CURRENT_PLATFORM" == "linux") || ("$CURRENT_PLATFORM" == "darwin") ]]; then
|
||||
@@ -203,6 +207,13 @@ function runtest ()
|
||||
dotnet msbuild -t:test -p:PackageRuntime="${RUNTIME_ID}" -p:BUILDCONFIG="${BUILD_CONFIG}" -p:RunnerVersion="${RUNNER_VERSION}" ./dir.proj || failed "failed tests"
|
||||
}
|
||||
|
||||
function coverage ()
|
||||
{
|
||||
heading "Coverage ..."
|
||||
cd Test && dotnet test --collect:"XPlat Code Coverage;Format=json"
|
||||
# reportgenerator -reports:"/workspaces/runner/src/Test/TestResults/ecf2bd75-83e9-489a-9339-d61293abf98b/coverage.cobertura.xml" -targetdir:"coveragereport" -reporttypes:Html
|
||||
}
|
||||
|
||||
function format()
|
||||
{
|
||||
heading "Formatting..."
|
||||
@@ -369,6 +380,7 @@ case $DEV_CMD in
|
||||
"p") package;;
|
||||
"format") format;;
|
||||
"f") format;;
|
||||
"c") coverage;;
|
||||
*) echo "Invalid cmd. Use build(b), test(t), layout(l), package(p), or format(f)";;
|
||||
esac
|
||||
|
||||
|
||||
Reference in New Issue
Block a user