Skip to content

Commit 4669aaf

Browse files
VSTS integration (dotnet#83)
Add VSTS integration
1 parent 6d080e8 commit 4669aaf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1243
-339
lines changed

BuildAgent/MaintenanceScripts/TeamCityApi.Console/TeamCityApi.Console.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<Import Project="../../../build/common.props" />
4-
53
<PropertyGroup>
64
<OutputType>Exe</OutputType>
75
<TargetFramework>netcoreapp2.1</TargetFramework>

Directory.Build.props

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Project>
2+
<Import
3+
Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
4+
Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
5+
6+
<Import Project="version.props" />
7+
<Import Project="build\dependencies.props" />
8+
<Import Project="build\sources.props" />
9+
10+
<PropertyGroup>
11+
<Product>Infrastructure</Product>
12+
<RepositoryUrl>https://github.com/aspnet/Infrastructure</RepositoryUrl>
13+
<RepositoryType>git</RepositoryType>
14+
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
15+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
16+
<UseRoutingFromFeatureBranch>true</UseRoutingFromFeatureBranch>
17+
</PropertyGroup>
18+
19+
</Project>

Directory.Build.targets

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project>
2+
<PropertyGroup>
3+
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">$(MicrosoftNETCoreApp21PackageVersion)</RuntimeFrameworkVersion>
4+
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.2' ">$(MicrosoftNETCoreApp22PackageVersion)</RuntimeFrameworkVersion>
5+
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
6+
<!-- aspnet/BuildTools#662 Don't police what version of NetCoreApp we use -->
7+
<NETCoreAppMaximumVersion>99.9</NETCoreAppMaximumVersion>
8+
</PropertyGroup>
9+
</Project>

TriageBuildFailures.sln

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.27428.1
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TriageBuildFailures", "src\TriageBuildFailures\TriageBuildFailures.csproj", "{84FF418A-2AF0-4C0A-961B-8728D53D4CB1}"
7+
EndProject
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common", "src\Common\Common.csproj", "{C343E93C-D676-460D-86D5-F089C035A77A}"
9+
EndProject
10+
Global
11+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12+
Debug|Any CPU = Debug|Any CPU
13+
Release|Any CPU = Release|Any CPU
14+
EndGlobalSection
15+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
16+
{84FF418A-2AF0-4C0A-961B-8728D53D4CB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17+
{84FF418A-2AF0-4C0A-961B-8728D53D4CB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
18+
{84FF418A-2AF0-4C0A-961B-8728D53D4CB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
19+
{84FF418A-2AF0-4C0A-961B-8728D53D4CB1}.Release|Any CPU.Build.0 = Release|Any CPU
20+
{C343E93C-D676-460D-86D5-F089C035A77A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21+
{C343E93C-D676-460D-86D5-F089C035A77A}.Debug|Any CPU.Build.0 = Debug|Any CPU
22+
{C343E93C-D676-460D-86D5-F089C035A77A}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{C343E93C-D676-460D-86D5-F089C035A77A}.Release|Any CPU.Build.0 = Release|Any CPU
24+
EndGlobalSection
25+
GlobalSection(SolutionProperties) = preSolution
26+
HideSolutionNode = FALSE
27+
EndGlobalSection
28+
GlobalSection(ExtensibilityGlobals) = postSolution
29+
SolutionGuid = {8B18ECFC-295B-486E-AF20-0E478F557C6D}
30+
EndGlobalSection
31+
EndGlobal

build/dependencies.props

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@
33
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
44
</PropertyGroup>
55

6-
<PropertyGroup Label="Package Versions">
7-
<MicrosoftNETCoreApp21PackageVersion>2.1.3</MicrosoftNETCoreApp21PackageVersion>
8-
</PropertyGroup>
96
<Import Project="$(DotNetPackageVersionPropsPath)" Condition=" '$(DotNetPackageVersionPropsPath)' != '' " />
10-
<PropertyGroup Label="Package Versions: Pinned" />
7+
<PropertyGroup Label="Package Versions: Pinned" >
8+
<InternalAspNetCoreAnalyzersPackageVersion>2.2.0-preview1-34967</InternalAspNetCoreAnalyzersPackageVersion>
9+
<InternalAspNetCoreSdkPackageVersion>2.2.0-preview1-20180807.2</InternalAspNetCoreSdkPackageVersion>
10+
<McMasterExtensionsCommandLineUtility>2.2.2</McMasterExtensionsCommandLineUtility>
11+
<MicrosoftNETCoreApp21PackageVersion>2.1.4</MicrosoftNETCoreApp21PackageVersion>
12+
<MicrosoftNETCoreApp22PackageVersion>2.2.0-preview1-26618-02</MicrosoftNETCoreApp22PackageVersion>
13+
<NewtonsoftJsonPackageVersion>11.0.2</NewtonsoftJsonPackageVersion>
14+
<OctokitPackageVersion>0.29.0</OctokitPackageVersion>
15+
</PropertyGroup>
1116
</Project>

build/repo.props

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
<Project>
2-
<Import Project="dependencies.props" />
2+
<Import Project="dependencies.props" />
33

4-
<PropertyGroup>
5-
<!-- These properties are use by the automation that updates dependencies.props -->
6-
<LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
7-
<LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
8-
</PropertyGroup>
4+
<PropertyGroup>
5+
<!-- These properties are use by the automation that updates dependencies.props -->
6+
<LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
7+
<LineupPackageVersion>2.2.0-*</LineupPackageVersion>
8+
<LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />
13+
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp22PackageVersion)" />
14+
</ItemGroup>
915
</Project>

src/Common/Common.csproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<Import Project="../../build/common.props" />
4-
53
<PropertyGroup>
64
<TargetFramework>netstandard2.0</TargetFramework>
75
</PropertyGroup>
86

97
<ItemGroup>
10-
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="2.2.2" />
8+
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="$(McMasterExtensionsCommandLineUtility)" />
119
</ItemGroup>
1210
</Project>

src/Common/TestToRepoMapper.cs

Lines changed: 149 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -23,114 +23,163 @@ public static string FindRepo(string testName, IReporter reporter)
2323
}
2424
else
2525
{
26-
if (testName.StartsWith(Constants.VSTestPrefix, StringComparison.OrdinalIgnoreCase))
27-
{
28-
var name = testName.Replace(Constants.VSTestPrefix, string.Empty);
26+
var name = testName.Replace(Constants.VSTestPrefix, string.Empty);
2927

30-
if (name.StartsWith("Microsoft.AspNetCore.Server", StringComparison.OrdinalIgnoreCase))
31-
{
32-
var parts = name.Split('.');
33-
switch (parts[3])
34-
{
35-
case "Kestrel":
36-
return "KestrelHttpServer";
37-
case "HttpSys":
38-
return "HttpSysServer";
39-
case "IIS":
40-
return "IISIntegration";
41-
default:
42-
return parts[3];
43-
}
44-
}
45-
else if (name.StartsWith("Microsoft.AspNetCore.Http"))
46-
{
47-
return "HttpAbstractions";
48-
}
49-
else if (name.StartsWith("Microsoft.AspNetCore.Authentication"))
50-
{
51-
return "Security";
28+
if (name.StartsWith("Microsoft.AspNetCore.Server", StringComparison.OrdinalIgnoreCase))
29+
{
30+
var parts = name.Split('.');
31+
switch (parts[3])
32+
{
33+
case "Kestrel":
34+
return "KestrelHttpServer";
35+
case "HttpSys":
36+
return "HttpSysServer";
37+
case "IIS":
38+
return "IISIntegration";
39+
default:
40+
return parts[3];
5241
}
53-
else if (name.StartsWith("Microsoft.AspNetCore.", StringComparison.OrdinalIgnoreCase))
54-
{
55-
var parts = name.Split('.');
42+
}
43+
else if (name.StartsWith("Microsoft.AspNetCore.Http"))
44+
{
45+
return "HttpAbstractions";
46+
}
47+
else if (name.StartsWith("Microsoft.AspNetCore.Authentication"))
48+
{
49+
return "Security";
50+
}
51+
else if (name.StartsWith("Microsoft.AspNetCore.", StringComparison.OrdinalIgnoreCase))
52+
{
53+
var parts = name.Split('.');
5654

57-
switch (parts[2])
58-
{
59-
default:
60-
return parts[2];
61-
}
62-
}
63-
else if (name.StartsWith("AuthSamples", StringComparison.OrdinalIgnoreCase))
64-
{
65-
return name.Split('.')[0];
66-
}
67-
else if (name.StartsWith("Microsoft.Extensions.Configuration", StringComparison.OrdinalIgnoreCase))
68-
{
69-
return "Configuration";
70-
}
71-
else if (name.StartsWith("ServerComparison", StringComparison.OrdinalIgnoreCase))
72-
{
73-
return "ServerTests";
74-
}
75-
else if (name.StartsWith("E2ETests", StringComparison.OrdinalIgnoreCase))
76-
{
77-
return "MusicStore";
78-
}
79-
else if (name.StartsWith("Microsoft.DotNet.Watcher", StringComparison.OrdinalIgnoreCase))
80-
{
81-
return "DotNetTools";
82-
}
83-
else if (name.StartsWith("Microsoft.EntityFrameworkCore", StringComparison.OrdinalIgnoreCase))
84-
{
85-
return "EntityFrameworkCore";
86-
}
87-
else if (name.StartsWith("FunctionalTests", StringComparison.OrdinalIgnoreCase))
88-
{
89-
return "MvcPrecompilation";
90-
}
91-
else if (name.StartsWith("Templates", StringComparison.OrdinalIgnoreCase))
92-
{
93-
return "Templating";
94-
}
95-
else if (name.StartsWith("MvcBenchmarks", StringComparison.OrdinalIgnoreCase))
96-
{
97-
return "Performance";
98-
}
99-
else if (name.StartsWith("Microsoft.VisualStudio.Web.CodeGeneration", StringComparison.OrdinalIgnoreCase))
100-
{
101-
return "Scaffolding";
102-
}
103-
else if (name.StartsWith("Microsoft.Data.Sqlite"))
104-
{
105-
return "Microsoft.Data.Sqlite";
106-
}
107-
else if (name.StartsWith("IIS.FunctionalTests"))
108-
{
109-
return "IISIntegration";
110-
}
111-
else if (name.StartsWith("Microsoft.Extensions.Primitives"))
55+
switch (parts[2])
11256
{
113-
return "Common";
114-
}
115-
else if (name.StartsWith("Microsoft.Extensions.Options"))
116-
{
117-
return "Options";
118-
}
119-
else if (name.StartsWith("Microsoft.Extensions.Http"))
120-
{
121-
return "HttpClientFactory";
122-
}
123-
else if (name.StartsWith("System.Buffers.Tests", StringComparison.OrdinalIgnoreCase) ||
124-
name.StartsWith("System.IO.Pipelines.Tests", StringComparison.OrdinalIgnoreCase) ||
125-
name.StartsWith("Microsoft.Extensions.Internal.Test", StringComparison.OrdinalIgnoreCase))
126-
{
127-
return "Home";
57+
default:
58+
return parts[2];
12859
}
12960
}
61+
else if (name.StartsWith("AuthSamples", StringComparison.OrdinalIgnoreCase))
62+
{
63+
return name.Split('.')[0];
64+
}
65+
else if (name.StartsWith("Microsoft.Extensions.Configuration", StringComparison.OrdinalIgnoreCase))
66+
{
67+
return "Configuration";
68+
}
69+
else if (name.StartsWith("ServerComparison", StringComparison.OrdinalIgnoreCase))
70+
{
71+
return "ServerTests";
72+
}
73+
else if (name.StartsWith("E2ETests", StringComparison.OrdinalIgnoreCase))
74+
{
75+
return "MusicStore";
76+
}
77+
else if (name.StartsWith("Microsoft.DotNet.Watcher", StringComparison.OrdinalIgnoreCase))
78+
{
79+
return "DotNetTools";
80+
}
81+
else if (name.StartsWith("Microsoft.EntityFrameworkCore", StringComparison.OrdinalIgnoreCase))
82+
{
83+
return "EntityFrameworkCore";
84+
}
85+
else if (name.StartsWith("FunctionalTests", StringComparison.OrdinalIgnoreCase))
86+
{
87+
return "MvcPrecompilation";
88+
}
89+
else if (name.StartsWith("Templates", StringComparison.OrdinalIgnoreCase))
90+
{
91+
return "Templating";
92+
}
93+
else if (name.StartsWith("MvcBenchmarks", StringComparison.OrdinalIgnoreCase))
94+
{
95+
return "Performance";
96+
}
97+
else if (name.StartsWith("Microsoft.VisualStudio.Web.CodeGeneration", StringComparison.OrdinalIgnoreCase))
98+
{
99+
return "Scaffolding";
100+
}
101+
else if (name.StartsWith("Microsoft.Data.Sqlite"))
102+
{
103+
return "Microsoft.Data.Sqlite";
104+
}
105+
else if (name.StartsWith("IIS.FunctionalTests"))
106+
{
107+
return "IISIntegration";
108+
}
109+
else if (name.StartsWith("Microsoft.Extensions.Primitives"))
110+
{
111+
return "Common";
112+
}
113+
else if (name.StartsWith("Microsoft.Extensions.Options"))
114+
{
115+
return "Options";
116+
}
117+
else if (name.StartsWith("Microsoft.Extensions.Configuration", StringComparison.OrdinalIgnoreCase))
118+
{
119+
return "Configuration";
120+
}
121+
else if (name.StartsWith("ServerComparison", StringComparison.OrdinalIgnoreCase))
122+
{
123+
return "ServerTests";
124+
}
125+
else if (name.StartsWith("E2ETests", StringComparison.OrdinalIgnoreCase))
126+
{
127+
return "MusicStore";
128+
}
129+
else if (name.StartsWith("Microsoft.DotNet.Watcher", StringComparison.OrdinalIgnoreCase))
130+
{
131+
return "DotNetTools";
132+
}
133+
else if (name.StartsWith("Microsoft.EntityFrameworkCore", StringComparison.OrdinalIgnoreCase))
134+
{
135+
return "EntityFrameworkCore";
136+
}
137+
else if (name.StartsWith("FunctionalTests", StringComparison.OrdinalIgnoreCase))
138+
{
139+
return "MvcPrecompilation";
140+
}
141+
else if (name.StartsWith("Templates", StringComparison.OrdinalIgnoreCase))
142+
{
143+
return "Templating";
144+
}
145+
else if (name.StartsWith("MvcBenchmarks", StringComparison.OrdinalIgnoreCase))
146+
{
147+
return "Performance";
148+
}
149+
else if (name.StartsWith("Microsoft.VisualStudio.Web.CodeGeneration", StringComparison.OrdinalIgnoreCase))
150+
{
151+
return "Scaffolding";
152+
}
153+
else if (name.StartsWith("Microsoft.Data.Sqlite"))
154+
{
155+
return "Microsoft.Data.Sqlite";
156+
}
157+
else if (name.StartsWith("IIS.FunctionalTests"))
158+
{
159+
return "IISIntegration";
160+
}
161+
else if (name.StartsWith("Microsoft.Extensions.Options"))
162+
{
163+
return "Options";
164+
}
165+
else if (name.StartsWith("Microsoft.Extensions.Caching"))
166+
{
167+
return "Caching";
168+
}
169+
else if (name.StartsWith("Microsoft.Extensions.Http"))
170+
{
171+
return "HttpClientFactory";
172+
}
173+
else if (name.StartsWith("System.Buffers.Tests", StringComparison.OrdinalIgnoreCase) ||
174+
name.StartsWith("System.IO.Pipelines.Tests", StringComparison.OrdinalIgnoreCase) ||
175+
name.StartsWith("Microsoft.Extensions.Internal.Test", StringComparison.OrdinalIgnoreCase))
176+
{
177+
return "AspNetCore";
178+
}
130179

131-
reporter.Warn($"Don't know how to find the repo of tests like {testName}, defaulting to aspnet/Home");
180+
reporter.Warn($"Don't know how to find the repo of tests like {testName}, defaulting to aspnet/AspNetCore");
132181

133-
return "Home";
182+
return "AspNetCore";
134183
}
135184
}
136185

src/Directory.Build.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<Project>
2+
<Import Project="..\Directory.Build.props" />
3+
4+
<ItemGroup>
5+
<PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
6+
</ItemGroup>
7+
</Project>

0 commit comments

Comments
 (0)