Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[main] Add CI for building with previously source-built SDK #15603

Merged
merged 12 commits into from
Mar 4, 2023

Conversation

lbussell
Copy link

@lbussell
Copy link
Author

The current build failure is in roslyn. Looks like our tooling is trying to override the windowsdesktop SDK but it isn't actually working:

[SourceBuiltSdkResolver] Looking for SDK Microsoft.NET.Sdk.WindowsDesktop. Detected config(s) in env:
    'ARCADE' for 'Microsoft.DotNet.Arcade.Sdk/8.0.0-beta.23120.1' at '/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/'
    'WINDOWS_DESKTOP' for 'Microsoft.Net.Sdk.WindowsDesktop/1.0.0-source-built' at '/vmr/eng//tools/EmptySdk/'
    [SourceBuiltSdkResolver] Overriding Microsoft.NET.Sdk.WindowsDesktop with 'WINDOWS_DESKTOP'
    /vmr/.dotnet/sdk/8.0.100-alpha.1.23080.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(1231,3): error MSB4019: The imported project "/vmr/.dotnet/sdk/8.0.100-alpha.1.23080.1/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets" was not found. Confirm that the expression in the Import declaration ";/vmr/.dotnet/sdk/8.0.100-alpha.1.23080.1/Sdks/Microsoft.NET.Sdk/targets/../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets" is correct, and that the file exists on disk. [/vmr/src/roslyn/artifacts/source-build/self/src/src/Tools/IdeBenchmarks/IdeBenchmarks.csproj]
##[error]/vmr/.dotnet/sdk/8.0.100-alpha.1.23080.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(1231,3): error MSB4019: (NETCORE_ENGINEERING_TELEMETRY=Restore) The imported project "/vmr/.dotnet/sdk/8.0.100-alpha.1.23080.1/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets" was not found. Confirm that the expression in the Import declaration ";/vmr/.dotnet/sdk/8.0.100-alpha.1.23080.1/Sdks/Microsoft.NET.Sdk/targets/../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets" is correct, and that the file exists on disk.

@lbussell lbussell marked this pull request as ready for review February 28, 2023 23:45
@lbussell lbussell requested a review from a team as a code owner February 28, 2023 23:45
@lbussell
Copy link
Author

lbussell commented Feb 28, 2023

The current build failure looks legitimate and not related to the CI setup, so I'm requesting review (Build failure is still the same after merging in main). I'll move the new leg back to internal validation only before we merge. I will also file a follow-up issue afterwards to address the root issue of the failure here.

# Temporarily move this to PR build just to test the N-1 CI
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_WithPreviousSDK
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's a need to get crisper on our leg names especially after this additional leg. For example this name doesn't properly differentiate itself with Fedora36_Offline_Using_Previous.

Here are some suggestion groupings

Stage1_CentOSStream8_Online
Stage1_CentOSStream8_Offline_N-1SDK
Stage1_Fedora36_Offline
Stage2_Fedora36_Offline
CentOSStream8_Online
CentOSStream8_Offline_N-1_SDK
Fedora36_Offline
Fedora36_Offline_Rebuild or Fedora36_Offline_N_SDK

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More ideas after talking with some source-build folks

CentOSStream8_Online_MsftSdk
Fedora36_Offline_MsftSdk
Fedora36_Offline_CurrentSourceBuiltSdk
CentOSStream8_Offline_PreviousSourceBuiltSdk
CentOSStream8_Online_MsftSdk_Stage1
Fedora36_Offline_MsftSdk_Stage1
Fedora36_Offline_Stage1Sdk_Stage2 
CentOSStream8_Offline_PreviousSourceBuiltSdk_Stage1

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note - we'll need to update the release pipeline if these change

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MichaelSimons we will now have to synchronize the list of legs between 3 places:

  • VMR build
  • SDK diff pipeline
  • Release pipeline/checklist (if it needs to download the prereqs from a certain leg)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I imagine this might become a point of friction

src/SourceBuild/content/prep.sh Show resolved Hide resolved
eng/pipelines/templates/jobs/vmr-build.yml Outdated Show resolved Hide resolved
eng/pipelines/templates/jobs/vmr-build.yml Outdated Show resolved Hide resolved
# Temporarily move this to PR build just to test the N-1 CI
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_WithPreviousSDK
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More ideas after talking with some source-build folks

CentOSStream8_Online_MsftSdk
Fedora36_Offline_MsftSdk
Fedora36_Offline_CurrentSourceBuiltSdk
CentOSStream8_Offline_PreviousSourceBuiltSdk
CentOSStream8_Online_MsftSdk_Stage1
Fedora36_Offline_MsftSdk_Stage1
Fedora36_Offline_Stage1Sdk_Stage2 
CentOSStream8_Offline_PreviousSourceBuiltSdk_Stage1

src/SourceBuild/content/prep.sh Show resolved Hide resolved
src/SourceBuild/content/eng/Versions.props Outdated Show resolved Hide resolved
eng/pipelines/templates/stages/vmr-build.yml Outdated Show resolved Hide resolved
@MichaelSimons MichaelSimons self-requested a review March 3, 2023 14:52
@lbussell
Copy link
Author

lbussell commented Mar 4, 2023

Next set of errors:

CSC : error CS9057: The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'. [/vmr/src/razor/artifacts/source-build/self/src/src/Compiler/tools/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj]
##[error]CSC(0,0): error CS9057: (NETCORE_ENGINEERING_TELEMETRY=Build) The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'.
    CSC : error CS9057: The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'. [/vmr/src/razor/artifacts/source-build/self/src/src/Compiler/tools/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj]
##[error]CSC(0,0): error CS9057: (NETCORE_ENGINEERING_TELEMETRY=Build) The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'.
    CSC : error CS9057: The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'. [/vmr/src/razor/artifacts/source-build/self/src/src/Compiler/tools/Microsoft.CodeAnalysis.Razor.Tooling.Internal/Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj]
##[error]CSC(0,0): error CS9057: (NETCORE_ENGINEERING_TELEMETRY=Build) The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'.
    CSC : error CS9057: The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'. [/vmr/src/razor/artifacts/source-build/self/src/src/Compiler/tools/Microsoft.CodeAnalysis.Razor.Tooling.Internal/Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj]
##[error]CSC(0,0): error CS9057: (NETCORE_ENGINEERING_TELEMETRY=Build) The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'.
    CSC : error CS9057: The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'. [/vmr/src/razor/artifacts/source-build/self/src/src/Shared/Microsoft.AspNetCore.Razor.Utilities.Shared/Microsoft.AspNetCore.Razor.Utilities.Shared.csproj::TargetFramework=net7.0]
##[error]CSC(0,0): error CS9057: (NETCORE_ENGINEERING_TELEMETRY=Build) The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'.
    CSC : error CS9057: The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'. [/vmr/src/razor/artifacts/source-build/self/src/src/Shared/Microsoft.AspNetCore.Razor.Utilities.Shared/Microsoft.AspNetCore.Razor.Utilities.Shared.csproj::TargetFramework=net7.0]
##[error]CSC(0,0): error CS9057: (NETCORE_ENGINEERING_TELEMETRY=Build) The analyzer assembly '/vmr/.dotnet/sdk/8.0.100-preview.1.23115.1/Sdks/Microsoft.NET.Sdk/analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll' references version '4.6.0.0' of the compiler, which is newer than the currently running version '4.5.0.0'.

As described before I am going to merge around this, as I think these errors come from incoherencies in the product and not any issue with the new CI leg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port "N-1 CI" for building with previous release SDK to 8.0/main
3 participants