Skip to content

Commit

Permalink
Merge pull request #1323 from dotnet/ix-build
Browse files Browse the repository at this point in the history
Ix build perf
  • Loading branch information
clairernovotny committed Sep 29, 2020
2 parents 0efb789 + cff8698 commit e98b11a
Show file tree
Hide file tree
Showing 13 changed files with 46 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,15 @@
<NoWarn>$(NoWarn);1701;1702;CS1591;NU5105</NoWarn>
<DefaultLanguage>en-US</DefaultLanguage>
<IsTestProject>$(MSBuildProjectName.Contains('Test'))</IsTestProject>
<DebugType Condition="'$(Configuration)' != 'Debug'">embedded</DebugType>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<DebugType>embedded</DebugType>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<!-- While in beta, we need to set preview for 8.0 manually (rather than latest). -->
<LangVersion>preview</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>

<PropertyGroup Condition="'$(TF_BUILD)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
<Deterministic>true</Deterministic>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
<Project>

<!-- Workaround. Remove once we're on 3.1.300+
https://github.com/dotnet/sourcelink/issues/572 -->
<PropertyGroup>
<TargetFrameworkMonikerAssemblyAttributesPath>$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
</PropertyGroup>
<ItemGroup>
<EmbeddedFiles Include="$(GeneratedAssemblyInfoFile)"/>
</ItemGroup>



<!-- This props all need to be set in targets as they depend on the values set earlier -->
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.0'">
<DefineConstants>$(DefineConstants);NO_ARRAY_EMPTY;NO_CODE_COVERAGE_ATTRIBUTE</DefineConstants>
Expand All @@ -21,12 +10,22 @@
<PropertyGroup Condition="'$(TargetFramework)' == 'net45'">
<DefineConstants>$(DefineConstants);NO_ARRAY_EMPTY;NO_TASK_FROMEXCEPTION</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0' or '$(TargetFramework)' == 'netstandard2.1' or '$(TargetFramework)' == 'netstandard2.0'">
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1' or '$(TargetFramework)' == 'netstandard2.1' or '$(TargetFramework)' == 'netstandard2.0'">
<DefineConstants>$(DefineConstants);HAS_VALUETUPLE</DefineConstants>
</PropertyGroup>

<PropertyGroup>
<Product>$(AssemblyName) ($(TargetFramework))</Product>
</PropertyGroup>

<!-- Remove once coverlet supports this built-in -->
<Target Name="CoverletGetPathMap"
DependsOnTargets="InitializeSourceRootMappedPaths"
Returns="@(_LocalTopLevelSourceRoot)"
Condition="'$(DeterministicSourcePaths)' == 'true'">
<ItemGroup>
<_LocalTopLevelSourceRoot Include="@(SourceRoot)" Condition="'%(SourceRoot.NestedRoot)' == ''"/>
</ItemGroup>
</Target>

</Project>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.1</TargetFrameworks>
<NoWarn>$(NoWarn);CS0618</NoWarn>
</PropertyGroup>

Expand Down Expand Up @@ -41,8 +41,4 @@
</Compile>
</ItemGroup>

<ItemGroup>
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<Description>Interactive Extensions Async Providers Library used to build query providers and express queries over async enumerable sequences.</Description>
<AssemblyTitle>Interactive Extensions - Async Providers Library</AssemblyTitle>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.1</TargetFrameworks>
<PackageTags>Ix;Interactive;Extensions;Enumerable;Asynchronous</PackageTags>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.1</TargetFrameworks>
<NoWarn>$(NoWarn);CS0618;CS8603;CS8625</NoWarn>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.SDK">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Description>Interactive Extensions Async Library used to express queries over asynchronous enumerable sequences.</Description>
<AssemblyTitle>Interactive Extensions - Async Library</AssemblyTitle>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.1</TargetFrameworks>
<PackageTags>Ix;Interactive;Extensions;Enumerable;Asynchronous</PackageTags>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.1</TargetFrameworks>
<NoWarn>$(NoWarn);CS0618</NoWarn>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.1</TargetFrameworks>
<Title>System.Linq.Async.Queryable</Title>
<PackageTags>LINQ;async;streams;query;provider</PackageTags>
<Description>Provides support for Language-Integrated Query (LINQ) over IAsyncQueryable&lt;T&gt; sequences with query providers.</Description>
Expand All @@ -25,9 +25,4 @@
<Generator>TextTemplatingFileGenerator</Generator>
</None>
</ItemGroup>

<ItemGroup>
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>netcoreapp2.1;net461;netcoreapp3.1</TargetFrameworks>
<NoWarn>$(NoWarn);CS0618;CS8603;CS8625</NoWarn>
</PropertyGroup>

Expand Down
4 changes: 2 additions & 2 deletions Ix.NET/Source/System.Linq.Async/System.Linq.Async.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="MSBuild.Sdk.Extras">

<PropertyGroup>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.1</TargetFrameworks>
<Title>System.Linq.Async</Title>
<PackageTags>LINQ;async;streams;query</PackageTags>
<Description>Provides support for Language-Integrated Query (LINQ) over IAsyncEnumerable&lt;T&gt; sequences.</Description>
Expand All @@ -26,7 +26,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Condition="'$(TargetFramework)' != 'netcoreapp3.0' and '$(TargetFramework)' != 'netstandard2.1' " Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.1" />
<PackageReference Condition="'$(TargetFramework)' != 'netcoreapp3.1' and '$(TargetFramework)' != 'netstandard2.1' " Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.1" />
<ReferenceAssemblyProjectReference Include="..\refs\System.Linq.Async.Ref\System.Linq.Async.Ref.csproj" />
</ItemGroup>

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<Description>LINQ Standard Query Operators used to express queries over asynchronous enumerable sequences.</Description>
<AssemblyTitle>System.Linq.Async</AssemblyTitle>
<Authors>Microsoft</Authors>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1;netcoreapp3.1</TargetFrameworks>
<PackageTags>Enumerable;Asynchronous;LINQ</PackageTags>
</PropertyGroup>

<ItemGroup>
<PackageReference Condition="'$(TargetFramework)' != 'netcoreapp3.0' and '$(TargetFramework)' != 'netstandard2.1' "
<PackageReference Condition="'$(TargetFramework)' != 'netcoreapp3.1' and '$(TargetFramework)' != 'netstandard2.1' "
Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.1" />
</ItemGroup>

Expand Down
39 changes: 22 additions & 17 deletions azure-pipelines.ix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ pr:
- .editorconfig
- azure-pipelines.ix.yml

pool:
vmImage: windows-latest

variables:
BuildConfiguration: Release
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
Expand All @@ -31,12 +28,26 @@ stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: ubuntu-latest
steps:
- task: UseDotNet@2
displayName: Use .NET Core 3.1.x SDK
displayName: Use .NET Core 5.0.x SDK
inputs:
version: 3.1.x
performMultiLevelLookup: true
version: 5.0.x
includePreviewVersions: true

- task: UseDotNet@2
displayName: .NET Core 3.1 runtime
inputs:
version: '3.1.x'
packageType: runtime

- task: UseDotNet@2
displayName: .NET Core 2.1 runtime
inputs:
version: '2.1.x'
packageType: runtime

- task: DotNetCoreCLI@2
inputs:
Expand All @@ -45,7 +56,7 @@ stages:
arguments: install --tool-path . nbgv
displayName: Install NBGV tool

- script: nbgv cloud -p Ix.NET\Source
- script: ./nbgv cloud -p Ix.NET/Source
displayName: Set Version

- task: DotNetCoreCLI@2
Expand All @@ -59,7 +70,7 @@ stages:
command: pack
packagesToPack: Ix.NET/Source/**/System.Interactive*.csproj;Ix.NET/Source/**/System.Linq.*.csproj;!Ix.NET/Source/**/*.Tests*.csproj;!Ix.NET/Source/refs/**
configuration: $(BuildConfiguration)
packDirectory: $(Build.ArtifactStagingDirectory)\artifacts
packDirectory: $(Build.ArtifactStagingDirectory)/artifacts
verbosityPack: Minimal
displayName: Pack

Expand All @@ -74,10 +85,10 @@ stages:
inputs:
command: test
projects: Ix.NET/Source/**/*.Tests.csproj
arguments: -c $(BuildConfiguration) --settings Ix.NET/Source/CodeCoverage.runsettings --collect:"XPlat Code Coverage" /t:rebuild /p:ContinuousIntegrationBuild=false -- RunConfiguration.DisableAppDomain=true
arguments: -c $(BuildConfiguration) --settings Ix.NET/Source/CodeCoverage.runsettings --collect:"XPlat Code Coverage" -- RunConfiguration.DisableAppDomain=true
displayName: Run Tests

- script: reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/Ix.NET/Source/coverlet/reports -reporttypes:"Cobertura"
- script: ./reportgenerator -reports:$(Agent.TempDirectory)/**/coverage.cobertura.xml -targetdir:$(Build.SourcesDirectory)/Ix.NET/Source/coverlet/reports -reporttypes:"Cobertura"
displayName: Create reports

- task: PublishCodeCoverageResults@1
Expand All @@ -90,16 +101,10 @@ stages:
artifact: config
displayName: Publish signing config

- publish: $(Build.ArtifactStagingDirectory)\artifacts
- publish: $(Build.ArtifactStagingDirectory)/artifacts
displayName: Publish artifacts
artifact: BuildPackages

- task: PublishPipelineArtifact@0
displayName: Publish Code Coverage XML
inputs:
artifactName: Coverage Report XML
targetPath: $(Build.SourcesDirectory)/Ix.NET/Source/coverlet/reports/Cobertura.xml

- stage: CodeSign
condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest')))
jobs:
Expand Down

0 comments on commit e98b11a

Please sign in to comment.