Skip to content

Commit df452f0

Browse files
committed
Merge pull request #856 from asbjornu/feature/travis-build
Working Travis build
2 parents 6a28b87 + 991aaca commit df452f0

29 files changed

+306
-334
lines changed

.gitignore

+8-1
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,11 @@ site/
9494
################
9595

9696
.idea
97-
*.sln.iml
97+
*.sln.iml
98+
99+
100+
####################
101+
# Visual Studio Code
102+
####################
103+
104+
.vscode

.travis.yml

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
language: csharp
22
solution: src/GitVersion.sln
3-
sudo: true
3+
sudo: false
4+
before_install: # We need to download nuget.exe due to: https://github.com/travis-ci/travis-ci/issues/5932
5+
- mkdir -p .nuget
6+
- wget -O .nuget/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
7+
- mono .nuget/nuget.exe
48
install:
5-
- sudo nuget update -self
6-
- nuget restore src/GitVersion.sln
7-
- nuget install NUnit.Runners -Version 3.2.1 -OutputDirectory ./src/packages
9+
- mono .nuget/nuget.exe restore src/GitVersion.sln -Verbosity detailed
10+
- mono .nuget/nuget.exe install NUnit.Runners -Version 3.2.1 -OutputDirectory ./src/packages
811
script:
912
- xbuild "./src/GitVersion.sln" /property:Configuration="Debug" /verbosity:detailed
10-
- mono --debug --runtime=v4.0.30319 ./src/packages/NUnit.ConsoleRunner.3.2.1/tools/nunit3-console.exe ./src/GitVersionTask.Tests/bin/Debug/GitVersionTask.Tests.dll ./src/GitVersionCore.Tests/bin/Debug/GitVersionCore.Tests.dll ./src/GitVersionTask.Tests/bin/Debug/GitVersionTask.Tests.dll ./src/GitVersionExe.Tests/bin/Debug/GitVersionExe.Tests.dll
13+
after_script:
14+
- mono --debug --runtime=v4.0.30319 ./src/packages/NUnit.ConsoleRunner.3.2.1/tools/nunit3-console.exe ./src/GitVersionTask.Tests/bin/Debug/GitVersionTask.Tests.dll ./src/GitVersionCore.Tests/bin/Debug/GitVersionCore.Tests.dll ./src/GitVersionTask.Tests/bin/Debug/GitVersionTask.Tests.dll ./src/GitVersionExe.Tests/bin/Debug/GitVersionExe.Tests.dll -where "cat != NoMono"

src/GitVersion.sln

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 14
4-
VisualStudioVersion = 14.0.24720.0
4+
VisualStudioVersion = 14.0.25123.0
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersionExe", "GitVersionExe\GitVersionExe.csproj", "{C3578A7B-09A6-4444-9383-0DEAFA4958BD}"
77
EndProject
@@ -13,6 +13,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersionCore.Tests", "Git
1313
EndProject
1414
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3EFFC5D6-88D0-49D9-BB53-E1B7EB49DD45}"
1515
ProjectSection(SolutionItems) = preProject
16+
..\.gitattributes = ..\.gitattributes
17+
..\.gitignore = ..\.gitignore
1618
..\.travis.yml = ..\.travis.yml
1719
..\appveyor.yml = ..\appveyor.yml
1820
..\BREAKING CHANGES.md = ..\BREAKING CHANGES.md

src/GitVersionCore.Tests/ConfigProviderTests.cs

+2
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ public void NextVersionCanHavePatch()
147147
}
148148

149149
[Test]
150+
[Category("NoMono")]
151+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
150152
[MethodImpl(MethodImplOptions.NoInlining)]
151153
public void CanWriteOutEffectiveConfiguration()
152154
{

src/GitVersionCore.Tests/DocumentationTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void VariableDocumentationIsUpToDate()
5757

5858
static string ReadDocumentationFile(string relativeDocumentationFilePath)
5959
{
60-
var currentDirectory = new DirectoryInfo(Environment.CurrentDirectory);
60+
var currentDirectory = new FileInfo(typeof(DocumentationTests).Assembly.Location).Directory;
6161
while (currentDirectory != null)
6262
{
6363
var docsDirectory = currentDirectory

src/GitVersionCore.Tests/ExecuteCoreTests.cs

+7-5
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
using GitTools.Testing;
55
using GitVersion;
66
using GitVersion.Helpers;
7-
87
using NUnit.Framework;
9-
108
using Shouldly;
119

1210
[TestFixture]
@@ -107,7 +105,7 @@ public void ConfigChangeInvalidatesCache()
107105
fileSystem.WriteAllText(vv.FileName, versionCacheFileContent);
108106
vv = versionAndBranchFinder.ExecuteGitVersion(null, null, null, null, false, fixture.RepositoryPath, null);
109107
vv.AssemblySemVer.ShouldBe("4.10.3.0");
110-
108+
111109
var configPath = Path.Combine(fixture.RepositoryPath, "GitVersionConfig.yaml");
112110
fileSystem.WriteAllText(configPath, "next-version: 5.0");
113111

@@ -134,10 +132,14 @@ string RepositoryScope(ExecuteCore executeCore = null, Action<EmptyRepositoryFix
134132
// Make sure GitVersion doesn't trigger build server mode when we are running the tests
135133
Environment.SetEnvironmentVariable("APPVEYOR", null);
136134
var infoBuilder = new StringBuilder();
137-
Action<string> infoLogger = s => { infoBuilder.AppendLine(s); };
135+
Action<string> infoLogger = s =>
136+
{
137+
infoBuilder.AppendLine(s);
138+
Console.WriteLine(s);
139+
};
138140
executeCore = executeCore ?? new ExecuteCore(fileSystem);
139141

140-
Logger.SetLoggers(infoLogger, s => { }, s => { });
142+
Logger.SetLoggers(infoLogger, Console.WriteLine, Console.WriteLine);
141143

142144
using (var fixture = new EmptyRepositoryFixture())
143145
{

src/GitVersionCore.Tests/Init/InitScenarios.cs

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
public class InitScenarios
1313
{
1414
[Test]
15+
[Category("NoMono")]
16+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
1517
public void CanSetNextVersion()
1618
{
1719
var testFileSystem = new TestFileSystem();

src/GitVersionCore.Tests/IntegrationTests/OtherScenarios.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void DoNotBlowUpWhenMasterAndDevelopPointAtSameCommit()
2222
fixture.Repository.MakeACommit();
2323
fixture.Repository.CreateBranch("develop");
2424

25-
fixture.LocalRepositoryFixture.Repository.Network.Fetch(fixture.LocalRepositoryFixture.Repository.Network.Remotes.First());
25+
Commands.Fetch((Repository)fixture.LocalRepositoryFixture.Repository, fixture.LocalRepositoryFixture.Repository.Network.Remotes.First().Name, new string[0], new FetchOptions(), null);
2626
fixture.LocalRepositoryFixture.Repository.Checkout(fixture.Repository.Head.Tip);
2727
fixture.LocalRepositoryFixture.Repository.Branches.Remove("master");
2828
fixture.InitialiseRepo();
@@ -81,7 +81,7 @@ public void DoNotBlowUpWhenDevelopAndFeatureBranchPointAtSameCommit()
8181
fixture.Repository.MakeACommit();
8282
fixture.Repository.CreateBranch("feature/someFeature");
8383

84-
fixture.LocalRepositoryFixture.Repository.Network.Fetch(fixture.LocalRepositoryFixture.Repository.Network.Remotes.First());
84+
Commands.Fetch((Repository)fixture.LocalRepositoryFixture.Repository, fixture.LocalRepositoryFixture.Repository.Network.Remotes.First().Name, new string[0], new FetchOptions(), null);
8585
fixture.LocalRepositoryFixture.Repository.Checkout(fixture.Repository.Head.Tip);
8686
fixture.LocalRepositoryFixture.Repository.Branches.Remove("master");
8787
fixture.InitialiseRepo();

src/GitVersionCore.Tests/IntegrationTests/RemoteRepositoryScenarios.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void GivenARemoteGitRepositoryAheadOfLocalRepository_ThenChangesShouldPul
5757
fixture.AssertFullSemver("0.1.0+5");
5858
fixture.AssertFullSemver("0.1.0+4", fixture.LocalRepositoryFixture.Repository);
5959
var buildSignature = fixture.LocalRepositoryFixture.Repository.Config.BuildSignature(new DateTimeOffset(DateTime.Now));
60-
fixture.LocalRepositoryFixture.Repository.Network.Pull(buildSignature, new PullOptions());
60+
Commands.Pull((Repository) fixture.LocalRepositoryFixture.Repository, buildSignature, new PullOptions());
6161
fixture.AssertFullSemver("0.1.0+5", fixture.LocalRepositoryFixture.Repository);
6262
}
6363
}

src/GitVersionCore.Tests/JsonVersionBuilderTests.cs

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
public class JsonVersionBuilderTests
99
{
1010
[Test]
11+
[Category("NoMono")]
12+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
1113
public void Json()
1214
{
1315
var semanticVersion = new SemanticVersion

src/GitVersionCore.Tests/TestFileSystem.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ public void Copy(string @from, string to, bool overwrite)
1818
else
1919
throw new IOException("File already exists");
2020
}
21-
fileSystem.Add(to, fileSystem[from]);
21+
22+
string source;
23+
if (!fileSystem.TryGetValue(from, out source))
24+
throw new FileNotFoundException(string.Format("The source file '{0}' was not found", from), from);
25+
26+
fileSystem.Add(to, source);
2227
}
2328

2429
public void Move(string @from, string to)

src/GitVersionCore.Tests/VariableProviderTests.cs

+12
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
public class VariableProviderTests
99
{
1010
[Test]
11+
[Category("NoMono")]
12+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
1113
public void ProvidesVariablesInContinuousDeliveryModeForPreRelease()
1214
{
1315
var semVer = new SemanticVersion
@@ -31,6 +33,8 @@ public void ProvidesVariablesInContinuousDeliveryModeForPreRelease()
3133
}
3234

3335
[Test]
36+
[Category("NoMono")]
37+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
3438
public void ProvidesVariablesInContinuousDeliveryModeForPreReleaseWithPadding()
3539
{
3640
var semVer = new SemanticVersion
@@ -54,6 +58,8 @@ public void ProvidesVariablesInContinuousDeliveryModeForPreReleaseWithPadding()
5458
}
5559

5660
[Test]
61+
[Category("NoMono")]
62+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
5763
public void ProvidesVariablesInContinuousDeploymentModeForPreRelease()
5864
{
5965
var semVer = new SemanticVersion
@@ -76,6 +82,8 @@ public void ProvidesVariablesInContinuousDeploymentModeForPreRelease()
7682
}
7783

7884
[Test]
85+
[Category("NoMono")]
86+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
7987
public void ProvidesVariablesInContinuousDeliveryModeForStable()
8088
{
8189
var semVer = new SemanticVersion
@@ -97,6 +105,8 @@ public void ProvidesVariablesInContinuousDeliveryModeForStable()
97105
}
98106

99107
[Test]
108+
[Category("NoMono")]
109+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
100110
public void ProvidesVariablesInContinuousDeploymentModeForStable()
101111
{
102112
var semVer = new SemanticVersion
@@ -118,6 +128,8 @@ public void ProvidesVariablesInContinuousDeploymentModeForStable()
118128
}
119129

120130
[Test]
131+
[Category("NoMono")]
132+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
121133
public void ProvidesVariablesInContinuousDeploymentModeForStableWhenCurrentCommitIsTagged()
122134
{
123135
var semVer = new SemanticVersion

src/GitVersionCore/GitVersionCore.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@
120120
<Compile Include="GitVersionCache.cs" />
121121
<Compile Include="Helpers\FileSystem.cs" />
122122
<Compile Include="Helpers\IFileSystem.cs" />
123-
<Compile Include="Helpers\ProcessHelper.cs" />
124123
<Compile Include="Helpers\ServiceMessageEscapeHelper.cs" />
125124
<Compile Include="IncrementStrategyFinder.cs" />
126125
<Compile Include="OutputVariables\VersionVariables.cs" />

src/GitVersionCore/Helpers/ProcessHelper.cs

-154
This file was deleted.

src/GitVersionCore/LibGitExtensions.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,12 @@ public static string GetRepositoryDirectory(this IRepository repository, bool om
187187
{
188188
var gitDirectory = repository.Info.Path;
189189

190-
gitDirectory = gitDirectory.TrimEnd('\\');
190+
gitDirectory = gitDirectory.TrimEnd(Path.DirectorySeparatorChar);
191191

192192
if (omitGitPostFix && gitDirectory.EndsWith(".git"))
193193
{
194194
gitDirectory = gitDirectory.Substring(0, gitDirectory.Length - ".git".Length);
195-
gitDirectory = gitDirectory.TrimEnd('\\');
195+
gitDirectory = gitDirectory.TrimEnd(Path.DirectorySeparatorChar);
196196
}
197197

198198
return gitDirectory;

0 commit comments

Comments
 (0)