Skip to content

Commit f9b66a7

Browse files
authored
Merge pull request #146 from heaths/cloudbuildvars
Also set GitBuildVersionSimple cloud variable
2 parents 396973b + 0a52916 commit f9b66a7

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

doc/cloudbuild.md

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ range.
5959
| --- | --- | --- |
6060
| GitAssemblyInformationalVersion | AssemblyInformationalVersion | 1.3.1+g15e1898f47
6161
| GitBuildVersion | BuildVersion | 1.3.1.57621
62+
| GitBuildVersionSimple | BuildVersionSimple | 1.3.1
6263

6364
This means you can use these variables in subsequent steps in your cloud build
6465
such as publishing artifacts, so that your richer version information can be

src/NerdBank.GitVersioning.Tests/BuildIntegrationTests.cs

+21
Original file line numberDiff line numberDiff line change
@@ -513,14 +513,24 @@ public async Task CloudBuildVariables_SetInCI(IReadOnlyDictionary<string, string
513513

514514
var buildResult = await this.BuildAsync();
515515
AssertStandardProperties(versionOptions, buildResult);
516+
517+
// Assert GitBuildVersion was set
516518
string conditionallyExpectedMessage = UnitTestCloudBuildPrefix + expectedMessage
517519
.Replace("{NAME}", "GitBuildVersion")
518520
.Replace("{VALUE}", buildResult.BuildVersion);
519521
Assert.Contains(alwaysExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
520522
Assert.Contains(conditionallyExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
521523

524+
// Assert GitBuildVersionSimple was set
525+
conditionallyExpectedMessage = UnitTestCloudBuildPrefix + expectedMessage
526+
.Replace("{NAME}", "GitBuildVersionSimple")
527+
.Replace("{VALUE}", buildResult.BuildVersionSimple);
528+
Assert.Contains(alwaysExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
529+
Assert.Contains(conditionallyExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
530+
522531
// Assert that project properties are also set.
523532
Assert.Equal(buildResult.BuildVersion, buildResult.GitBuildVersion);
533+
Assert.Equal(buildResult.BuildVersionSimple, buildResult.GitBuildVersionSimple);
524534
Assert.Equal(buildResult.AssemblyInformationalVersion, buildResult.GitAssemblyInformationalVersion);
525535

526536
// Assert that env variables were also set in context of the build.
@@ -530,12 +540,22 @@ public async Task CloudBuildVariables_SetInCI(IReadOnlyDictionary<string, string
530540
this.WriteVersionFile(versionOptions);
531541
buildResult = await this.BuildAsync();
532542
AssertStandardProperties(versionOptions, buildResult);
543+
544+
// Assert GitBuildVersion was not set
533545
conditionallyExpectedMessage = UnitTestCloudBuildPrefix + expectedMessage
534546
.Replace("{NAME}", "GitBuildVersion")
535547
.Replace("{VALUE}", buildResult.BuildVersion);
536548
Assert.Contains(alwaysExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
537549
Assert.DoesNotContain(conditionallyExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
538550
Assert.NotEqual(buildResult.BuildVersion, buildResult.BuildResult.ProjectStateAfterBuild.GetPropertyValue("GitBuildVersion"));
551+
552+
// Assert GitBuildVersionSimple was not set
553+
conditionallyExpectedMessage = UnitTestCloudBuildPrefix + expectedMessage
554+
.Replace("{NAME}", "GitBuildVersionSimple")
555+
.Replace("{VALUE}", buildResult.BuildVersionSimple);
556+
Assert.Contains(alwaysExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
557+
Assert.DoesNotContain(conditionallyExpectedMessage, buildResult.LoggedEvents.Select(e => e.Message.TrimEnd()));
558+
Assert.NotEqual(buildResult.BuildVersionSimple, buildResult.BuildResult.ProjectStateAfterBuild.GetPropertyValue("GitBuildVersionSimple"));
539559
}
540560
}
541561

@@ -1104,6 +1124,7 @@ internal BuildResults(BuildResult buildResult, IReadOnlyList<BuildEventArgs> log
11041124
public string RootNamespace => this.BuildResult.ProjectStateAfterBuild.GetPropertyValue("RootNamespace");
11051125

11061126
public string GitBuildVersion => this.BuildResult.ProjectStateAfterBuild.GetPropertyValue("GitBuildVersion");
1127+
public string GitBuildVersionSimple => this.BuildResult.ProjectStateAfterBuild.GetPropertyValue("GitBuildVersionSimple");
11071128
public string GitAssemblyInformationalVersion => this.BuildResult.ProjectStateAfterBuild.GetPropertyValue("GitAssemblyInformationalVersion");
11081129

11091130
public override string ToString()

src/NerdBank.GitVersioning/VersionOracle.cs

+1
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ public IDictionary<string, string> CloudBuildVersionVars
246246
{
247247
{ "GitAssemblyInformationalVersion", this.AssemblyInformationalVersion },
248248
{ "GitBuildVersion", this.Version.ToString() },
249+
{ "GitBuildVersionSimple", this.SimpleVersion.ToString() },
249250
};
250251
}
251252
}

0 commit comments

Comments
 (0)