mirror of
https://github.com/actions/runner.git
synced 2025-12-13 19:03:44 +00:00
Added support for custom labels (#414)
* Added support for custom labels * ignore case * Added interactive config for labels * Fixing L0s * pr comments
This commit is contained in:
@@ -317,7 +317,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
Environment.MachineName, // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
true)) // unattended
|
||||
true, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some runner");
|
||||
|
||||
// Act.
|
||||
@@ -344,7 +345,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
Environment.MachineName, // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some runner");
|
||||
|
||||
// Act.
|
||||
@@ -371,7 +373,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
"some default auth", // defaultValue
|
||||
Validators.AuthSchemeValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some auth");
|
||||
|
||||
// Act.
|
||||
@@ -398,7 +401,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
true, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some token");
|
||||
|
||||
// Act.
|
||||
@@ -475,7 +479,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
true, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some token");
|
||||
|
||||
// Act.
|
||||
@@ -502,7 +507,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
true, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some token");
|
||||
|
||||
// Act.
|
||||
@@ -529,7 +535,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.ServerUrlValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some url");
|
||||
|
||||
// Act.
|
||||
@@ -556,7 +563,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
"some default account", // defaultValue
|
||||
Validators.NTAccountValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some windows logon account");
|
||||
|
||||
// Act.
|
||||
@@ -584,7 +592,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
true, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some windows logon password");
|
||||
|
||||
// Act.
|
||||
@@ -611,7 +620,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
"_work", // defaultValue
|
||||
Validators.NonEmptyValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some work");
|
||||
|
||||
// Act.
|
||||
@@ -640,7 +650,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.ServerUrlValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some url");
|
||||
|
||||
// Act.
|
||||
@@ -669,7 +680,8 @@ namespace GitHub.Runner.Common.Tests
|
||||
false, // secret
|
||||
string.Empty, // defaultValue
|
||||
Validators.ServerUrlValidator, // validator
|
||||
false)) // unattended
|
||||
false, // unattended
|
||||
false)) // isOptional
|
||||
.Returns("some url");
|
||||
|
||||
// Act.
|
||||
|
||||
@@ -145,6 +145,8 @@ namespace GitHub.Runner.Common.Tests.Listener.Configuration
|
||||
IConfigurationManager configManager = new ConfigurationManager();
|
||||
configManager.Initialize(tc);
|
||||
|
||||
var userLabels = "userlabel1,userlabel2";
|
||||
|
||||
trace.Info("Preparing command line arguments");
|
||||
var command = new CommandSettings(
|
||||
tc,
|
||||
@@ -156,7 +158,8 @@ namespace GitHub.Runner.Common.Tests.Listener.Configuration
|
||||
"--pool", _expectedPoolName,
|
||||
"--work", _expectedWorkFolder,
|
||||
"--auth", _expectedAuthType,
|
||||
"--token", _expectedToken
|
||||
"--token", _expectedToken,
|
||||
"--labels", userLabels
|
||||
});
|
||||
trace.Info("Constructed.");
|
||||
_store.Setup(x => x.IsConfigured()).Returns(false);
|
||||
@@ -178,7 +181,10 @@ namespace GitHub.Runner.Common.Tests.Listener.Configuration
|
||||
// validate GetAgentPoolsAsync gets called twice with automation pool type
|
||||
_runnerServer.Verify(x => x.GetAgentPoolsAsync(It.IsAny<string>(), It.Is<TaskAgentPoolType>(p => p == TaskAgentPoolType.Automation)), Times.Exactly(2));
|
||||
|
||||
_runnerServer.Verify(x => x.AddAgentAsync(It.IsAny<int>(), It.Is<TaskAgent>(a => a.Labels.Contains("self-hosted") && a.Labels.Contains(VarUtil.OS) && a.Labels.Contains(VarUtil.OSArchitecture))), Times.Once);
|
||||
var expectedLabels = new List<string>() { "self-hosted", VarUtil.OS, VarUtil.OSArchitecture};
|
||||
expectedLabels.AddRange(userLabels.Split(",").ToList());
|
||||
|
||||
_runnerServer.Verify(x => x.AddAgentAsync(It.IsAny<int>(), It.Is<TaskAgent>(a => a.Labels.Select(x => x.Name).ToHashSet().SetEquals(expectedLabels))), Times.Once);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user