2022-02-14 15:06:08 +01:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
|
|
|
|
|
namespace GitHub.Runner.Common.Util
|
|
|
|
|
{
|
|
|
|
|
public static class NodeUtil
|
|
|
|
|
{
|
2023-10-10 17:10:43 +02:00
|
|
|
private const string _defaultNodeVersion = "node16";
|
2023-08-11 11:11:28 +02:00
|
|
|
public static readonly ReadOnlyCollection<string> BuiltInNodeVersions = new(new[] { "node16", "node20" });
|
2022-02-25 20:59:02 +01:00
|
|
|
public static string GetInternalNodeVersion()
|
2022-02-14 15:06:08 +01:00
|
|
|
{
|
2022-06-22 17:13:28 +02:00
|
|
|
var forcedInternalNodeVersion = Environment.GetEnvironmentVariable(Constants.Variables.Agent.ForcedInternalNodeVersion);
|
|
|
|
|
var isForcedInternalNodeVersion = !string.IsNullOrEmpty(forcedInternalNodeVersion) && BuiltInNodeVersions.Contains(forcedInternalNodeVersion);
|
|
|
|
|
|
|
|
|
|
if (isForcedInternalNodeVersion)
|
|
|
|
|
{
|
|
|
|
|
return forcedInternalNodeVersion;
|
|
|
|
|
}
|
|
|
|
|
return _defaultNodeVersion;
|
2022-02-14 15:06:08 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|