Use header of redirect instead of parsing content (#1874)
* Use header of redirect instead of parsing content * Add exception so we don't hit 404s later * Fix typo * Update SelfUpdaterL0.cs
This commit is contained in:
@@ -50,9 +50,9 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://github.com/actions/runner/releases/latest"));
|
var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://github.com/actions/runner/releases/latest"));
|
||||||
if (response.StatusCode == System.Net.HttpStatusCode.Redirect)
|
if (response.StatusCode == System.Net.HttpStatusCode.Redirect)
|
||||||
{
|
{
|
||||||
var redirect = await response.Content.ReadAsStringAsync();
|
var redirectUrl = response.Headers.Location.ToString();
|
||||||
Regex regex = new Regex(@"/runner/releases/tag/v(?<version>\d+\.\d+\.\d+)");
|
Regex regex = new Regex(@"/runner/releases/tag/v(?<version>\d+\.\d+\.\d+)");
|
||||||
var match = regex.Match(redirect);
|
var match = regex.Match(redirectUrl);
|
||||||
if (match.Success)
|
if (match.Success)
|
||||||
{
|
{
|
||||||
latestVersion = match.Groups["version"].Value;
|
latestVersion = match.Groups["version"].Value;
|
||||||
@@ -63,6 +63,10 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
_packageUrl = $"https://github.com/actions/runner/releases/download/v{latestVersion}/actions-runner-{BuildConstants.RunnerPackage.PackageName}-{latestVersion}.zip";
|
_packageUrl = $"https://github.com/actions/runner/releases/download/v{latestVersion}/actions-runner-{BuildConstants.RunnerPackage.PackageName}-{latestVersion}.zip";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new Exception("The latest runner version could not be determined so a download URL could not be generated for it. Please check the location header of the redirect response of 'https://github.com/actions/runner/releases/latest'");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user