From 628f462ab709492bf03b149468ef18415f9bc1bb Mon Sep 17 00:00:00 2001 From: Ferenc Hammerl <31069338+fhammerl@users.noreply.github.com> Date: Mon, 9 May 2022 14:04:18 +0200 Subject: [PATCH] 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 --- src/Test/L0/Listener/SelfUpdaterL0.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Test/L0/Listener/SelfUpdaterL0.cs b/src/Test/L0/Listener/SelfUpdaterL0.cs index dbf8d220c..84b5c67b5 100644 --- a/src/Test/L0/Listener/SelfUpdaterL0.cs +++ b/src/Test/L0/Listener/SelfUpdaterL0.cs @@ -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")); 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(?\d+\.\d+\.\d+)"); - var match = regex.Match(redirect); + var match = regex.Match(redirectUrl); if (match.Success) { 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"; #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'"); + } } }