diff --git a/GitReleaseManager.yaml b/GitReleaseManager.yaml new file mode 100644 index 0000000000..721c1ba4d8 --- /dev/null +++ b/GitReleaseManager.yaml @@ -0,0 +1,12 @@ +issue-labels-include: +- Breaking change +- Feature +- Bug +- Improvement +- Documentation +issue-labels-exclude: +- Build +issue-labels-alias: + - name: Documentation + header: Documentation + plural: Documentation \ No newline at end of file diff --git a/build.cake b/build.cake index d3cc29b1da..60dba07f10 100644 --- a/build.cake +++ b/build.cake @@ -14,7 +14,6 @@ #addin "nuget:?package=Newtonsoft.Json&version=9.0.1" // Install tools. -#tool "nuget:?package=GitReleaseManager&version=0.7.1" #tool "nuget:?package=NUnit.ConsoleRunner&version=3.9.0" #tool "nuget:?package=GitReleaseNotes&version=0.7.1" #tool "nuget:?package=ILRepack&version=2.0.16" @@ -456,13 +455,26 @@ Task("Release-Notes") .WithCriteria((context, parameters) => parameters.IsRunningOnWindows, "Release notes are generated only on Windows agents.") .WithCriteria((context, parameters) => parameters.IsRunningOnAzurePipeline, "Release notes are generated only on AzurePipeline.") .WithCriteria((context, parameters) => parameters.IsStableRelease(), "Release notes are generated only for stable releases.") - .IsDependentOn("Clean") .Does((parameters) => { - var outputFile = parameters.Paths.Files.ReleaseNotesOutputFilePath; - var githubToken = parameters.Credentials.GitHub.Token; + var token = parameters.Credentials.GitHub.Token; + if(string.IsNullOrEmpty(token)) { + throw new InvalidOperationException("Could not resolve Github token."); + } + + var repoOwner = "gittools"; + var repository = "gitversion"; + GitReleaseManagerCreate(token, repoOwner, repository, new GitReleaseManagerCreateSettings { + Milestone = parameters.Version.Milestone, + Name = parameters.Version.Milestone, + Prerelease = true, + TargetCommitish = "master" + }); + + GitReleaseManagerAddAssets(token, repoOwner, repository, parameters.Version.Milestone, parameters.Paths.Files.ZipArtifactPathDesktop.ToString()); + GitReleaseManagerAddAssets(token, repoOwner, repository, parameters.Version.Milestone, parameters.Paths.Files.ZipArtifactPathCoreClr.ToString()); + GitReleaseManagerClose(token, repoOwner, repository, parameters.Version.Milestone); - GetReleaseNotes(outputFile, ".", githubToken); }).ReportError(exception => { Error(exception.Dump()); diff --git a/build/version.cake b/build/version.cake index ccd7b9be83..cde5b8a758 100644 --- a/build/version.cake +++ b/build/version.cake @@ -2,6 +2,7 @@ public class BuildVersion { public GitVersion GitVersion { get; private set; } public string Version { get; private set; } + public string Milestone { get; private set; } public string SemVersion { get; private set; } public string GemVersion { get; private set; } public string TfxVersion { get; private set; } @@ -20,6 +21,7 @@ public class BuildVersion return new BuildVersion { GitVersion = gitVersion, + Milestone = version, Version = version, SemVersion = semVersion, GemVersion = semVersion.Replace("-", "."),