-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Expand file tree
/
Copy pathhelix.proj
More file actions
110 lines (95 loc) · 6.12 KB
/
helix.proj
File metadata and controls
110 lines (95 loc) · 6.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<PropertyGroup>
<HelixType>test/product/</HelixType>
<HelixBuild>$(BUILD_BUILDNUMBER)</HelixBuild>
<HelixTargetQueues>$(HelixTargetQueues)</HelixTargetQueues>
<Creator Condition = "'$(HelixAccessToken)' == ''">efcore</Creator>
<HelixAccessToken>$(HelixAccessToken)</HelixAccessToken>
<IncludeDotNetCli>true</IncludeDotNetCli>
<DotNetCliPackageType>sdk</DotNetCliPackageType>
<DotNetCliVersion>$(NETCoreSdkVersion)</DotNetCliVersion>
<EnableAzurePipelinesReporter>true</EnableAzurePipelinesReporter>
<FailOnTestFailure>true</FailOnTestFailure>
<SqlServerTests>$(RepoRoot)/test/EFCore.SqlServer.FunctionalTests/*.csproj;$(RepoRoot)/test/EFCore.SqlServer.HierarchyId.Tests/*.csproj;$(RepoRoot)/test/EFCore.CrossStore.FunctionalTests/*.csproj;$(RepoRoot)/test/EFCore.OData.FunctionalTests/*.csproj;$(RepoRoot)/test/EFCore.AspNet.SqlServer.FunctionalTests/*.csproj;$(RepoRoot)/test/EFCore.VisualBasic.FunctionalTests/*.vbproj;$(RepoRoot)/test/EFCore.FSharp.FunctionalTests/*.fsproj</SqlServerTests>
<CosmosTests>$(RepoRoot)/test/EFCore.Cosmos.FunctionalTests/*.csproj</CosmosTests>
</PropertyGroup>
<PropertyGroup Condition = "'$(SYSTEM_ACCESSTOKEN)' == ''">
<!-- Local build outside of Azure Pipeline -->
<HelixTargetQueues Condition = "'$(HelixTargetQueues)' == ''">Windows.10.Amd64.Open;OSX.15.Amd64.Open;OSX.15.ARM64.Open;Ubuntu.2204.Amd64.XL.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-sqlserver-amd64;Ubuntu.2204.Amd64.XL.Open;Ubuntu.2204.Amd64.Open</HelixTargetQueues>
<EnableAzurePipelinesReporter>false</EnableAzurePipelinesReporter>
<HelixSource>efcore/localbuild/</HelixSource>
<HelixBuild>t001</HelixBuild>
<MSSQL_SA_PASSWORD>PLACEHOLDERPass$$w0rd</MSSQL_SA_PASSWORD>
</PropertyGroup>
<ItemGroup>
<AdditionalDotNetPackageFeed Include="https://ci.dot.net/internal"
Condition="'$(SYSTEM_TEAMPROJECT)' == 'internal'">
<SasToken>$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))</SasToken>
</AdditionalDotNetPackageFeed>
<AdditionalDotNetPackage Include="$(MicrosoftNETCorePlatformsVersion)">
<PackageType>runtime</PackageType>
</AdditionalDotNetPackage>
<HelixCorrelationPayload Include="$(RepoRoot)/eng/testing">
<Destination>testing</Destination>
</HelixCorrelationPayload>
</ItemGroup>
<ItemGroup>
<XUnitProject Include="$(RepoRoot)/test/**/*.csproj"/>
<XUnitProject Include="$(RepoRoot)/test/**/*.fsproj"/>
<XUnitProject Remove="$(RepoRoot)/test/EFCore.Specification.Tests/*.csproj"/>
<XUnitProject Remove="$(RepoRoot)/test/EFCore.AspNet.Specification.Tests/*.csproj"/>
<XUnitProject Remove="$(RepoRoot)/test/EFCore.Relational.Specification.Tests/*.csproj"/>
<!-- The trimming and NativeAOT test projects are console programs -->
<XUnitProject Remove="$(RepoRoot)/test/EFCore.TrimmingTests/*.csproj"/>
<XUnitProject Remove="$(RepoRoot)/test/EFCore.NativeAotTests/*.csproj"/>
</ItemGroup>
<!-- Work-around for https://github.com/dotnet/runtime/issues/70758 -->
<ItemGroup Condition = "'$(HelixTargetQueue.StartsWith(`OSX`))'">
<XUnitProject Update="$(RepoRoot)/test/EFCore.InMemory.FunctionalTests/*.csproj;$(RepoRoot)/test/EFCore.Sqlite.FunctionalTests/*.csproj;$(RepoRoot)/test/ef.Tests/*.csproj">
<PreCommands>$(PreCommands); export COMPlus_EnableWriteXorExecute=0</PreCommands>
</XUnitProject>
</ItemGroup>
<!-- Start LocalDb instance for test projects which uses SqlServer on Windows -->
<ItemGroup Condition = "'$(HelixTargetQueue.StartsWith(`Windows`))'">
<XUnitProject Update="$(SqlServerTests)">
<PreCommands>$(PreCommands); SqlLocalDB start</PreCommands>
</XUnitProject>
</ItemGroup>
<ItemGroup Condition = "'$(HelixTargetQueue.StartsWith(`Windows.11`))'">
<XUnitProject Update="$(CosmosTests)">
<PreCommands>$(PreCommands); set Test__Cosmos__SkipConnectionCheck=true</PreCommands>
</XUnitProject>
</ItemGroup>
<!-- Start SqlServer instance for test projects which uses SqlServer on docker. Only run SqlServer tests. -->
<ItemGroup Condition = "'$(HelixTargetQueue.Contains(`helix-sqlserver`))'">
<XUnitProject Remove="$(RepoRoot)/test/**/*.csproj"/>
<XUnitProject Remove="$(RepoRoot)/test/**/*.fsproj"/>
<XUnitProject Include="$(SqlServerTests)">
<PreCommands>$(PreCommands); export MSSQL_SA_PASSWORD=$(MSSQL_SA_PASSWORD); export Test__SqlServer__DefaultConnection="Server=localhost;;Database=master;;User=sa;;Password=$(MSSQL_SA_PASSWORD);;Connect Timeout=60;;ConnectRetryCount=0;;TrustServerCertificate=True"; /opt/mssql/bin/sqlservr --accept-eula &; sleep 120; </PreCommands>
</XUnitProject>
</ItemGroup>
<!-- Run Cosmos tests on Ubuntu with Docker support (testcontainer auto-starts the emulator) -->
<ItemGroup Condition = "'$(HelixTargetQueue)' == 'Ubuntu.2204.Amd64.XL.Open' OR '$(HelixTargetQueue)' == 'Ubuntu.2204.Amd64.XL'">
<XUnitProject Remove="$(RepoRoot)/test/**/*.csproj"/>
<XUnitProject Remove="$(RepoRoot)/test/**/*.fsproj"/>
<XUnitProject Include="$(CosmosTests)">
<PreCommands>$(PreCommands); export Test__Cosmos__SkipConnectionCheck=true</PreCommands>
</XUnitProject>
</ItemGroup>
<!-- Run tests that don't need SqlServer or Cosmos on bare Ubuntu -->
<ItemGroup Condition = "'$(HelixTargetQueue)' == 'Ubuntu.2204.Amd64.Open' OR '$(HelixTargetQueue)' == 'Ubuntu.2204.Amd64'">
<XUnitProject Remove="$(SqlServerTests)"/>
<XUnitProject Remove="$(CosmosTests)"/>
</ItemGroup>
<!-- Remove test projects which require SqlServer or Cosmos from OSX -->
<ItemGroup Condition = "'$(HelixTargetQueue.StartsWith(`OSX`))'">
<XUnitProject Remove="$(SqlServerTests)"/>
<XUnitProject Remove="$(CosmosTests)"/>
</ItemGroup>
<PropertyGroup>
<XUnitPublishTargetFramework>$(NetCurrent)</XUnitPublishTargetFramework>
<XUnitRuntimeTargetFramework>netcoreapp2.0</XUnitRuntimeTargetFramework>
<XUnitArguments></XUnitArguments>
<XUnitWorkItemTimeout Condition = "'$(XUnitWorkItemTimeout)' == ''">02:00:00</XUnitWorkItemTimeout>
</PropertyGroup>
</Project>