From 890bf187350b9d8a4f99457249fc77cee5cc454c Mon Sep 17 00:00:00 2001 From: Kieron Lanning Date: Mon, 31 Aug 2026 17:14:31 +0100 Subject: [PATCH] fix: tests weren't honouring cross-platform paths --- build/PipelineCLI/Settings/GitHubSettings.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/build/PipelineCLI/Settings/GitHubSettings.cs b/build/PipelineCLI/Settings/GitHubSettings.cs index d54f201..b82ed19 100644 --- a/build/PipelineCLI/Settings/GitHubSettings.cs +++ b/build/PipelineCLI/Settings/GitHubSettings.cs @@ -15,8 +15,18 @@ public sealed record GitHubSettings public string ProductHeader { get; init; } = "Purview.SourceGeneratorFramework.Pipeline"; - public string? GetGitHubToken() => - !string.IsNullOrWhiteSpace(AccessToken) ? AccessToken - : !string.IsNullOrWhiteSpace(EnvAccessToken) ? EnvAccessToken - : null; + public string? GetGitHubToken() + { + if (!string.IsNullOrWhiteSpace(AccessToken)) + return AccessToken; + + if (!string.IsNullOrWhiteSpace(EnvAccessToken)) + return EnvAccessToken; + + // GitHub Actions provisions the automatic GITHUB_TOKEN as a plain environment variable. + // The config binder keys it under the "GitHub" section (GitHub:GITHUB_TOKEN), which the + // standard GITHUB_TOKEN env var does not map to, so read it directly as a fallback. + var processToken = Environment.GetEnvironmentVariable("GITHUB_TOKEN"); + return string.IsNullOrWhiteSpace(processToken) ? null : processToken; + } }