diff --git a/build/Program.cs b/build/Program.cs index e14e1304..1ad21f50 100644 --- a/build/Program.cs +++ b/build/Program.cs @@ -230,7 +230,7 @@ static async Task<(string version, bool isPrerelease)> GetVersion() } else { - // Not tagged - create prerelease version based on next minor version + // Not tagged - create prerelease version var allTags = (await GetGitOutput("tag", "--list")) .Split('\n', StringSplitOptions.RemoveEmptyEntries) .Where(tag => Regex.IsMatch(tag.Trim(), @"^\d+\.\d+\.\d+$")) @@ -267,6 +267,28 @@ static async Task<(string version, bool isPrerelease)> GetVersion() } } +static async Task GetCurrentBranch() +{ + // In GitHub Actions, GITHUB_REF_NAME contains the branch name + var githubRefName = Environment.GetEnvironmentVariable("GITHUB_REF_NAME"); + if (!string.IsNullOrEmpty(githubRefName)) + { + return githubRefName; + } + + // Fallback to git command for local builds + try + { + var (output, _) = await ReadAsync("git", "branch --show-current"); + return output.Trim(); + } + catch (Exception ex) + { + Console.WriteLine($"Warning: Could not determine current branch: {ex.Message}"); + return "unknown"; + } +} + static async Task GetGitOutput(string command, string args) { try