Skip to content

Commit f0990ec

Browse files
committed
Fix build issues with IIS integration projects
Changes: * Ensure IIS managed and pkg projects build after the native projects * Update projects to build test * Update CI checks to build on macOS and Linux * Use package baselines to manage ANCM packages
1 parent 4998ad8 commit f0990ec

File tree

53 files changed

+629
-461
lines changed

Some content is hidden

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

53 files changed

+629
-461
lines changed

.azure/pipelines/ci.yml

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,42 @@ jobs:
1616
beforeBuild:
1717
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
1818
displayName: Setup IISExpress test certificates and schema
19-
- template: jobs/iisintegration-job.yml
20-
parameters:
21-
TestGroupName: IIS
22-
SkipIISTests: false
23-
SkipIISExpressTests: true
24-
SkipIISForwardsCompatibilityTests: true
25-
SkipIISBackwardsCompatibilityTests: true
26-
- template: jobs/iisintegration-job.yml
27-
parameters:
28-
TestGroupName: IISExpress
29-
SkipIISTests: true
30-
SkipIISExpressTests: false
31-
SkipIISForwardsCompatibilityTests: true
32-
SkipIISBackwardsCompatibilityTests: true
33-
- template: jobs/iisintegration-job.yml
19+
- template: jobs/default-build.yml
3420
parameters:
35-
TestGroupName: IISForwardCompat
36-
SkipIISTests: true
37-
SkipIISExpressTests: true
38-
SkipIISForwardsCompatibilityTests: false
39-
SkipIISBackwardsCompatibilityTests: true
40-
- template: jobs/iisintegration-job.yml
21+
jobName: MacOs_Build
22+
jobDisplayName: "Build and test: macOS"
23+
agentOs: macOs
24+
- template: jobs/default-build.yml
4125
parameters:
42-
TestGroupName: IISBackCompat
43-
SkipIISTests: true
44-
SkipIISExpressTests: true
45-
SkipIISForwardsCompatibilityTests: true
46-
SkipIISBackwardsCompatibilityTests: false
26+
jobName: Linux_Build
27+
jobDisplayName: "Build and test: Linux"
28+
agentOs: Linux
29+
# - template: jobs/iisintegration-job.yml
30+
# parameters:
31+
# TestGroupName: IIS
32+
# SkipIISTests: false
33+
# SkipIISExpressTests: true
34+
# SkipIISForwardsCompatibilityTests: true
35+
# SkipIISBackwardsCompatibilityTests: true
36+
# - template: jobs/iisintegration-job.yml
37+
# parameters:
38+
# TestGroupName: IISExpress
39+
# SkipIISTests: true
40+
# SkipIISExpressTests: false
41+
# SkipIISForwardsCompatibilityTests: true
42+
# SkipIISBackwardsCompatibilityTests: true
43+
# - template: jobs/iisintegration-job.yml
44+
# parameters:
45+
# TestGroupName: IISForwardCompat
46+
# SkipIISTests: true
47+
# SkipIISExpressTests: true
48+
# SkipIISForwardsCompatibilityTests: false
49+
# SkipIISBackwardsCompatibilityTests: true
50+
# - template: jobs/iisintegration-job.yml
51+
# parameters:
52+
# TestGroupName: IISBackCompat
53+
# SkipIISTests: true
54+
# SkipIISExpressTests: true
55+
# SkipIISForwardsCompatibilityTests: true
56+
# SkipIISBackwardsCompatibilityTests: false
4757

.azure/pipelines/jobs/iisintegration-job.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ jobs:
22
- template: default-build.yml
33
parameters:
44
beforeBuild:
5-
- powershell: "& ./src/servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/servers/IIS/tools/update_schema.ps1; & ./src/servers/IIS/tools/SetupTestEnvironment.ps1 Setup"
5+
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1; & ./src/Servers/IIS/tools/SetupTestEnvironment.ps1 Setup"
66
displayName: Prepare repo
77
afterBuild:
8-
- powershell: "& ./src/servers/IIS/tools/SetupTestEnvironment.ps1 Shutdown"
8+
- powershell: "& ./src/Servers/IIS/tools/SetupTestEnvironment.ps1 Shutdown"
99
displayName: Stop AppVerifier
1010
condition: always()
1111
- task: PublishBuildArtifacts@1
@@ -15,7 +15,7 @@ jobs:
1515
artifactName: logs
1616
artifactType: Container
1717
pathtoPublish: src/IISIntegration/artifacts/logs
18-
buildDirectory: src/servers/IIS
18+
buildDirectory: src/Servers/IIS
1919
buildArgs: "/p:SkipIISBackwardsCompatibilityTests=${{ parameters.SkipIISBackwardsCompatibilityTests }} /p:SkipIISTests=${{ parameters.SkipIISTests }} /p:SkipIISExpressTests=${{ parameters.SkipIISExpressTests }} /p:SkipIISForwardsCompatibilityTests=${{ parameters.SkipIISBackwardsCompatibilityTests }}"
2020
jobName: IISIntegration_${{ parameters.TestGroupName }}
2121
jobDisplayName: IISIntegration_${{ parameters.TestGroupName }}

.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
path = modules/Scaffolding
77
url = https://github.com/aspnet/Scaffolding.git
88
branch = release/2.2
9-
[submodule "src/IISIntegration/test/gtest/googletest"]
10-
path = src/IISIntegration/test/gtest/googletest
9+
[submodule "googletest"]
10+
path = src/submodules/googletest
1111
url = https://github.com/google/googletest

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
<IncludeSymbols>true</IncludeSymbols>
8686

8787
<SharedSourceRoot>$(MSBuildThisFileDirectory)src\Shared\</SharedSourceRoot>
88+
<GoogleTestSubmoduleRoot>$(RepositoryRoot)src\submodules\googletest\</GoogleTestSubmoduleRoot>
8889

8990
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
9091
</PropertyGroup>

build/CodeSign.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@
6565
<FilesToSign Include="Microsoft.Extensions.Primitives.dll" Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
6666
<FilesToSign Include="Microsoft.Extensions.WebEncoders.dll" Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
6767

68+
<!-- ANCM -->
69+
<FilesToSign Include="aspnetcore.dll" Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
70+
<FilesToSign Include="aspnetcorev2.dll" Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
71+
<FilesToSign Include="aspnetcorev2_inprocess.dll" Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
72+
<FilesToSign Include="aspnetcorev2_outofprocess.dll" Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
73+
6874
<!-- These files came from partner teams. They have to be re-signed because we crossgen them and redistributable them in our installers. -->
6975

7076
<!-- Microsoft.AspNetCore.All -->

build/artifacts.props

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,6 @@
126126
<PackageArtifact Include="Microsoft.AspNetCore.Server.HttpSys" Category="ship" />
127127
<PackageArtifact Include="Microsoft.AspNetCore.Server.IIS" Category="ship" />
128128
<PackageArtifact Include="Microsoft.AspNetCore.Server.IISIntegration" Category="ship" />
129-
<PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting" Category="noship" />
130-
<PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" Category="noship" />
131129
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Core" Category="ship" />
132130
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Https" Category="ship" />
133131
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Category="ship" />

build/dependencies.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
<MicrosoftExtensionsBuffersMemoryPoolSourcesPackageVersion>2.2.0</MicrosoftExtensionsBuffersMemoryPoolSourcesPackageVersion>
109109
<InternalWebHostBuilderFactorySourcesPackageVersion>2.2.0</InternalWebHostBuilderFactorySourcesPackageVersion>
110110
<MicrosoftAspNetCoreServerIntegrationTestingPackageVersion>0.6.0-rtm-final</MicrosoftAspNetCoreServerIntegrationTestingPackageVersion>
111+
<MicrosoftAspNetCoreServerIntegrationTestingIISPackageVersion>2.2.0-rtm-35687</MicrosoftAspNetCoreServerIntegrationTestingIISPackageVersion>
111112

112113
<!-- 3rd party dependencies -->
113114
<AngleSharpPackageVersion>0.9.9</AngleSharpPackageVersion>

build/external-dependencies.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
<ExternalDependency Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
8383
<!-- These dependencies are temporary while we refactor package refs into project refs. -->
8484
<ExternalDependency Include="Microsoft.AspNetCore.Server.IntegrationTesting" Version="$(MicrosoftAspNetCoreServerIntegrationTestingPackageVersion)" />
85+
<ExternalDependency Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" Version="$(MicrosoftAspNetCoreServerIntegrationTestingIISPackageVersion)" />
8586
</ItemGroup>
8687

8788
<ItemGroup>

build/repo.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@
7171

7272
<NpmProjectDirectory Include="$(RepositoryRoot)src\Middleware\CORS\test\FunctionalTests\" />
7373

74+
<ProjectToBuild Condition=" '$(OS)' == 'Windows_NT' " Include="$(RepositoryRoot)src\Servers\**\*.vcxproj">
75+
<!-- Required to prevent triggering double-builds. See src\Servers\IIS\ResolveIisReferences.targets for details. -->
76+
<AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x64'">Platform=x64</AdditionalProperties>
77+
<AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x86'">Platform=x86</AdditionalProperties>
78+
</ProjectToBuild>
79+
7480
<ProjectToBuild Include="
7581
$(RepositoryRoot)src\Features\JsonPatch\**\*.*proj;
7682
$(RepositoryRoot)src\DataProtection\**\*.*proj;

eng/Baseline.Designer.props

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,30 @@
44
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
55
<AspNetCoreBaselineVersion>2.2.0</AspNetCoreBaselineVersion>
66
</PropertyGroup>
7+
<!-- Package: dotnet-dev-certs-->
8+
<PropertyGroup Condition=" '$(PackageId)' == 'dotnet-dev-certs' ">
9+
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>
10+
</PropertyGroup>
11+
<!-- Package: dotnet-sql-cache-->
12+
<PropertyGroup Condition=" '$(PackageId)' == 'dotnet-sql-cache' ">
13+
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>
14+
</PropertyGroup>
15+
<!-- Package: dotnet-user-secrets-->
16+
<PropertyGroup Condition=" '$(PackageId)' == 'dotnet-user-secrets' ">
17+
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>
18+
</PropertyGroup>
19+
<!-- Package: dotnet-watch-->
20+
<PropertyGroup Condition=" '$(PackageId)' == 'dotnet-watch' ">
21+
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>
22+
</PropertyGroup>
23+
<!-- Package: Microsoft.AspNetCore.AspNetCoreModule-->
24+
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AspNetCoreModule' ">
25+
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>
26+
</PropertyGroup>
27+
<!-- Package: Microsoft.AspNetCore.AspNetCoreModuleV2-->
28+
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AspNetCoreModuleV2' ">
29+
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>
30+
</PropertyGroup>
731
<!-- Package: Microsoft.AspNetCore.Antiforgery-->
832
<PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Antiforgery' ">
933
<BaselinePackageVersion>2.2.0</BaselinePackageVersion>

0 commit comments

Comments
 (0)