Skip to content

Commit 04ce38a

Browse files
Merge pull request #105 from OmniSharp/azure-pipelines
Set up CI with Azure Pipelines
2 parents 38c2b44 + b33d82d commit 04ce38a

File tree

14 files changed

+87
-247
lines changed

14 files changed

+87
-247
lines changed

.appveyor.yml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,5 @@ after_build:
1313
- codecov -f "./artifacts/coverage/coverage.xml"
1414
artifacts:
1515
- path: ./artifacts/nuget/*.nupkg
16-
cache:
17-
- tools -> tools/packages.config
1816
nuget:
1917
project_feed: true
20-
deploy:
21-
- provider: NuGet
22-
server: https://www.myget.org/F/omnisharp/api/v2/package
23-
api_key:
24-
secure: eoBrSWDtOXSxyUOoCSTyQCeDkvU18W67pE3w26viEUBRi1K4Tru0cTjUtDUB7l9V
25-
skip_symbols: false
26-
symbol_server: https://www.myget.org/F/omnisharp/symbols/api/v2/package
27-
artifact: /.*\.nupkg/
28-
on:
29-
branch: master
30-
- provider: NuGet
31-
server: https://www.myget.org/F/omnisharp/api/v2/package
32-
api_key:
33-
secure: eoBrSWDtOXSxyUOoCSTyQCeDkvU18W67pE3w26viEUBRi1K4Tru0cTjUtDUB7l9V
34-
skip_symbols: false
35-
symbol_server: https://www.myget.org/F/omnisharp/symbols/api/v2/package
36-
artifact: /.*\.nupkg/
37-
on:
38-
appveyor_repo_tag: true
39-
- provider: NuGet
40-
api_key:
41-
secure: lFaEHVRMsSWTveDH/DuLl4+hv+O0i4qLkbhW3aCgzq0oCrOuV+0TSEkqe6aiHuNX
42-
skip_symbols: true
43-
artifact: /.*\.nupkg/
44-
on:
45-
appveyor_repo_tag: true

.azure-pipelines.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
resources:
2+
repositories:
3+
- repository: rsg
4+
type: github
5+
name: RocketSurgeonsGuild/AzureDevopsTemplates
6+
ref: refs/tags/v0.2.8
7+
endpoint: github
8+
9+
variables:
10+
Configuration: Release
11+
Verbosity: Normal
12+
DotNetVersion: "2.1.500"
13+
CakeVersion: "0.30.0"
14+
NuGetVersion: '4.7.1'
15+
Coverage: "$(Agent.BuildDirectory)/c"
16+
VstsCoverage: "$(Coverage)"
17+
Artifacts: $(Build.ArtifactStagingDirectory)
18+
VstsArtifacts: "$(Artifacts)"
19+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "true"
20+
21+
jobs:
22+
- job: GitVersion
23+
pool:
24+
vmImage: "VS2017-Win2016"
25+
steps:
26+
- template: gitversion/store.yml@rsg
27+
parameters:
28+
NuGetVersion: $(NuGetVersion)
29+
30+
# Mac job seems to hang with unit tests currently, needs more testing (also need a mac)
31+
# - template: pipeline/cake-job.yml@rsg
32+
# parameters:
33+
# name: 'macOS'
34+
# dependsOn: GitVersion
35+
# vmImage: "macOS-10.13"
36+
# pushNuget: false
37+
# Configuration: $(Configuration)
38+
# Verbosity: $(Verbosity)
39+
# CakeVersion: $(CakeVersion)
40+
# DotNetVersion: $(DotNetVersion)
41+
# NuGetVersion: $(NuGetVersion)
42+
# Script: build.cake
43+
44+
- template: pipeline/cake-job.yml@rsg
45+
parameters:
46+
name: 'Linux'
47+
dependsOn: GitVersion
48+
vmImage: "Ubuntu-16.04"
49+
pushNuget: false
50+
Configuration: $(Configuration)
51+
Verbosity: $(Verbosity)
52+
CakeVersion: $(CakeVersion)
53+
DotNetVersion: $(DotNetVersion)
54+
NuGetVersion: $(NuGetVersion)
55+
Script: build.cake
56+
57+
- template: pipeline/cake-job.yml@rsg
58+
parameters:
59+
name: 'Windows'
60+
dependsOn: GitVersion
61+
vmImage: "VS2017-Win2016"
62+
pushNuget: true
63+
Configuration: $(Configuration)
64+
Verbosity: $(Verbosity)
65+
CakeVersion: $(CakeVersion)
66+
DotNetVersion: $(DotNetVersion)
67+
NuGetVersion: $(NuGetVersion)
68+
Script: build.cake

.travis.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,9 @@ language: csharp
22
sudo: required
33
dist: trusty
44
mono: latest
5-
dotnet: 2.1.301
5+
dotnet: 2.1.500
66
os:
77
- linux
8-
cache:
9-
directories:
10-
- tools
11-
before_cache:
12-
- rm -f tools/packages.config
138
git:
149
depth: 1000
1510
script:

Common.Build.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@
1717
<Microsoft_Extensions_DependencyInjection_Version>2.0.0</Microsoft_Extensions_DependencyInjection_Version>
1818
<Newtonsoft_Version>11.0.2</Newtonsoft_Version>
1919
<SourceLink_Version>2.8.3</SourceLink_Version>
20-
<System_Reactive_Version>4.0.0</System_Reactive_Version>
20+
<System_Reactive_Version>4.1.2</System_Reactive_Version>
2121
<MediatR_Version>5.0.1</MediatR_Version>
2222
<MediatR_Extensions_DependencyInjection_Version>5.0.2</MediatR_Extensions_DependencyInjection_Version>
2323
<Autofac_Version>4.8.1</Autofac_Version>
24-
<Autofac_Extensions_DependencyInjection_Version>4.2.2</Autofac_Extensions_DependencyInjection_Version>
25-
<Microsoft_NET_Test_Sdk_Version>15.7.2</Microsoft_NET_Test_Sdk_Version>
26-
<xunit_Version>2.3.1</xunit_Version>
27-
<FluentAssertions_Version>5.4.1</FluentAssertions_Version>
24+
<Autofac_Extensions_DependencyInjection_Version>4.3.1</Autofac_Extensions_DependencyInjection_Version>
25+
<Microsoft_NET_Test_Sdk_Version>15.9.0</Microsoft_NET_Test_Sdk_Version>
26+
<xunit_Version>2.4.1</xunit_Version>
27+
<FluentAssertions_Version>5.5.3</FluentAssertions_Version>
2828
<NSubstitute_Version>3.1.0</NSubstitute_Version>
2929
<Serilog_Extensions_Logging_Version>2.0.2</Serilog_Extensions_Logging_Version>
30-
<Serilog_Sinks_XUnit_Version>1.0.5</Serilog_Sinks_XUnit_Version>
30+
<Serilog_Sinks_XUnit_Version>1.0.6</Serilog_Sinks_XUnit_Version>
3131
<XunitXml_TestLogger_Version>2.0.0</XunitXml_TestLogger_Version>
32-
<coverlet_Version>2.0.1</coverlet_Version>
32+
<coverlet_Version>2.4.0</coverlet_Version>
3333
</PropertyGroup>
3434
</Project>
File renamed without changes.

build.cake

Lines changed: 3 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,4 @@
1-
#tool "nuget:?package=GitVersion.CommandLine&prerelease&version=4.0.0-beta0012"
2-
#tool "nuget:?package=xunit.runner.console"
3-
#tool "nuget:?package=JetBrains.dotCover.CommandLineTools&version=2018.1.0"
4-
#load "tasks/variables.cake";
5-
6-
var target = Argument("target", "Default");
7-
var configuration = Argument("configuration", "Release");
8-
var artifacts = new DirectoryPath("./artifacts").MakeAbsolute(Context.Environment);
9-
10-
Task("Clean")
11-
.Does(() =>
12-
{
13-
EnsureDirectoryExists(artifacts);
14-
CleanDirectory(artifacts);
15-
});
1+
#load "nuget:?package=Rocket.Surgery.Cake.Library&version=0.8.6";
162

173
Task("Submodules")
184
.Does(() => {
@@ -34,149 +20,9 @@ Task("Embed MediatR")
3420
}
3521
});
3622

37-
Task("Restore (Unix)")
38-
.WithCriteria(IsRunningOnUnix)
39-
.Does(() =>
40-
{
41-
MSBuild("./LSP.sln", settings => settings.SetConfiguration(configuration).WithTarget("Restore"));
42-
});
43-
44-
Task("Restore (Windows)")
45-
.WithCriteria(IsRunningOnWindows)
46-
.Does(() =>
47-
{
48-
DotNetCoreRestore();
49-
});
50-
51-
Task("Restore")
52-
.IsDependentOn("Restore (Unix)")
53-
.IsDependentOn("Restore (Windows)");
54-
55-
Task("Build")
56-
.IsDependentOn("Restore")
57-
.DoesForEach(GetFiles("src/**/*.csproj").Concat(GetFiles("test/**/*.csproj")), (project) =>
58-
{
59-
MSBuild(project, settings =>
60-
settings
61-
.SetConfiguration(configuration)
62-
.WithTarget("Build"));
63-
});
64-
65-
Task("TestSetup")
66-
.Does(() => {
67-
CleanDirectory(artifacts + "/tests");
68-
CleanDirectory(artifacts + "/coverage");
69-
EnsureDirectoryExists(artifacts + "/tests");
70-
EnsureDirectoryExists(artifacts + "/coverage");
71-
});
72-
73-
Task("Test (Unix)")
74-
.WithCriteria(IsRunningOnUnix)
75-
.IsDependentOn("TestSetup")
76-
.IsDependentOn("Build")
77-
.DoesForEach(GetFiles("test/*/*.csproj"), (testProject) =>
78-
{
79-
DotNetCoreTest(
80-
testProject.GetDirectory().FullPath,
81-
new DotNetCoreTestSettings() {
82-
NoBuild = true,
83-
Configuration = configuration,
84-
Framework = "netcoreapp2.1",
85-
EnvironmentVariables = GitVersionEnvironmentVariables,
86-
TestAdapterPath = ".",
87-
Logger = $"\"xunit;LogFilePath={string.Format("{0}/tests/{1}.xml", artifacts, testProject.GetFilenameWithoutExtension())}\"",
88-
ArgumentCustomization = args => args.Append("/p:CollectCoverage=true"),
89-
}
90-
);
91-
});
92-
93-
Task("Test (Windows)")
94-
.WithCriteria(IsRunningOnWindows)
95-
.IsDependentOn("TestSetup")
96-
.IsDependentOn("Build")
97-
.DoesForEach(GetFiles("test/*/*.csproj"), (testProject) =>
98-
{
99-
DotCoverCover(tool => {
100-
tool.DotNetCoreTest(
101-
testProject.GetDirectory().FullPath,
102-
new DotNetCoreTestSettings() {
103-
NoBuild = true,
104-
Configuration = configuration,
105-
Framework = "netcoreapp2.1",
106-
EnvironmentVariables = GitVersionEnvironmentVariables,
107-
TestAdapterPath = ".",
108-
Logger = $"\"xunit;LogFilePath={string.Format("{0}/tests/{1}.xml", artifacts, testProject.GetFilenameWithoutExtension())}\"",
109-
// ArgumentCustomization = args => args.Append("/p:CollectCoverage=true"),
110-
});
111-
},
112-
artifacts + "/coverage/coverage-"+ testProject.GetFilenameWithoutExtension() + ".dcvr",
113-
new DotCoverCoverSettings() {
114-
TargetWorkingDir = testProject.GetDirectory(),
115-
WorkingDirectory = testProject.GetDirectory(),
116-
EnvironmentVariables = GitVersionEnvironmentVariables,
117-
}
118-
.WithFilter("+:OmniSharp.*")
119-
);
120-
})
121-
.Finally(() => {
122-
DotCoverMerge(
123-
GetFiles(artifacts + "/coverage/*.dcvr"),
124-
artifacts + "/coverage/coverage.dcvr"
125-
);
126-
127-
DotCoverReport(
128-
artifacts + "/coverage/coverage.dcvr",
129-
new FilePath(artifacts + "/coverage/coverage.html"),
130-
new DotCoverReportSettings {
131-
ReportType = DotCoverReportType.HTML
132-
}
133-
);
134-
135-
DotCoverReport(
136-
artifacts + "/coverage/coverage.dcvr",
137-
new FilePath(artifacts + "/coverage/coverage.xml"),
138-
new DotCoverReportSettings {
139-
ReportType = DotCoverReportType.DetailedXML
140-
}
141-
);
142-
143-
var withBom = System.IO.File.ReadAllText(artifacts + "/coverage/coverage.xml");
144-
System.IO.File.WriteAllText(artifacts + "/coverage/coverage.xml", withBom.Replace(_byteOrderMarkUtf8, ""));
145-
});
146-
147-
Task("Test")
148-
.IsDependentOn("Test (Unix)")
149-
.IsDependentOn("Test (Windows)");
150-
151-
Task("Pack")
152-
.WithCriteria(IsRunningOnWindows) // TODO: Make work on travis
153-
.IsDependentOn("Build")
154-
.Does(() => EnsureDirectoryExists(artifacts + "/nuget"))
155-
.DoesForEach(GetFiles("src/*/*.csproj"), (project) => {
156-
DotNetCorePack(project.FullPath, new DotNetCorePackSettings
157-
{
158-
NoBuild = true,
159-
IncludeSymbols = true,
160-
Configuration = configuration,
161-
EnvironmentVariables = GitVersionEnvironmentVariables,
162-
OutputDirectory = artifacts + "/nuget"
163-
});
164-
});
165-
166-
Task("GitVersion")
167-
.Does(() => {
168-
GitVersion(new GitVersionSettings() {
169-
OutputType = GitVersionOutput.BuildServer
170-
});
171-
});
172-
17323
Task("Default")
17424
.IsDependentOn("Submodules")
17525
.IsDependentOn("Embed MediatR")
176-
.IsDependentOn("GitVersion")
177-
.IsDependentOn("Clean")
178-
.IsDependentOn("Build")
179-
.IsDependentOn("Test")
180-
.IsDependentOn("Pack");
26+
.IsDependentOn("dotnetcore");
18127

182-
RunTarget(target);
28+
RunTarget(Target);

cake.config

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/JsonRpc/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/Protocol/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/Server/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)