Skip to content

Onboard Package Validation SDK#34122

Closed
wtgodbe wants to merge 4 commits intomainfrom
wtgodbe/PackageValidation
Closed

Onboard Package Validation SDK#34122
wtgodbe wants to merge 4 commits intomainfrom
wtgodbe/PackageValidation

Conversation

@wtgodbe
Copy link
Copy Markdown
Member

@wtgodbe wtgodbe commented Jul 6, 2021

Fixes #33981

Still a couple outstanding questions -

  • How/When can we get this version updated automatically? I believe it comes from dotnet/sdk right now - we could add a back-edge subscription that only fires once a week or so?
  • What else should we do to validate that this is doing what we expect? I see the below in a binlog of one of our shipping projects:

PackVal

@wtgodbe wtgodbe requested review from a team and Anipik July 6, 2021 17:36
@wtgodbe wtgodbe requested review from Pilchie and dougbu as code owners July 6, 2021 17:36
Copy link
Copy Markdown
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

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

We can't use this SDK until it no longer worsens the file contention issues in our build. Suspect it works in dotnet/runtime only because they use the Microsoft.Build.Traversal SDK.

Comment thread Directory.Build.targets Outdated
<!-- Properties for Package Validation -->
<!-- We only want to check for API changes in servicing branches -->
<PropertyGroup Condition=" '$(IsServicingBuild)' != 'true' ">
<DisablePackageBaselineValidation>true</DisablePackageBaselineValidation>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Don't we need to set properties somewhere to inform Microsoft.DotNet.PackageValidation of the baseline package version once we are in servicing❔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

correct we dont need this, baseline validation wont run by default

@Anipik
Copy link
Copy Markdown
Contributor

Anipik commented Jul 6, 2021

How/When can we get this version updated automatically? I believe it comes from dotnet/sdk right now - we could add a back-edge subscription that only fires once a week or so?

i am planning to make it a part of sdk before preview 7 change. so maybe waiting here is the best option

@wtgodbe
Copy link
Copy Markdown
Member Author

wtgodbe commented Jul 6, 2021

@Anipik we're concerned about this going in to the dotnet SDK if it winds up causing these build races for us - it might block us from updating to a newer SDK.

@rainersigwald we're seeing more instances of the file contention issue here, but on different projects:

D:\workspace_work\1\s\eng\AfterSolutionBuild.targets(15,5): error MSB4018: System.IO.IOException: The process cannot access the file 'D:\workspace_work\1\s\artifacts\packages\Release\Shipping\Microsoft.AspNetCore.App.Ref.6.0.0-ci.nupkg' because it is being used by another process. [D:\workspace_work\1\s.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.21329.1\tools\AfterSolutionBuild.proj]

How can we help investigate?

@dougbu
Copy link
Copy Markdown
Contributor

dougbu commented Jul 6, 2021

I doubt it'll help but let's see if @TanayParikh's targeted fix (#34137) does the trick. Might need something similar for other file contention issues this PR brings to the forefront.

@dougbu
Copy link
Copy Markdown
Contributor

dougbu commented Jul 6, 2021

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@dougbu
Copy link
Copy Markdown
Contributor

dougbu commented Jul 6, 2021

How can we help investigate?

See Build channel in Teams for discussion of prior build contention investigations. Starting point is a binary log for whatever job looks worst to you.

@TanayParikh
Copy link
Copy Markdown
Contributor

eng/AfterSolutionBuild.targets(15,5): error MSB4018: (NETCORE_ENGINEERING_TELEMETRY=Build) The "RepoTasks.RemoveSharedFrameworkDependencies" task failed unexpectedly.
System.IO.IOException: The process cannot access the file '/datadisks/disk1/workspace/_work/1/s/artifacts/packages/Release/Shipping/Microsoft.AspNetCore.App.Runtime.linux-x64.6.0.0-ci.nupkg' because it is being used by another process.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Init(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize) in System.Private.CoreLib.dll:token 0x60000ce+0x0
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize) in System.Private.CoreLib.dll:token 0x60000cc+0x31
   at System.IO.Strategies.Net5CompatFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize) in System.Private.CoreLib.dll:token 0x600601b+0x6f
   at System.IO.File.Open(String path, FileMode mode) in System.Private.CoreLib.dll:token 0x6005c1d+0x0
   at RepoTasks.RemoveSharedFrameworkDependencies.FilterDependencies(String targetPath, ISet`1 dependencyToRemove) in /_/eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs:line 48
   at RepoTasks.RemoveSharedFrameworkDependencies.Execute() in /_/eng/tools/RepoTasks/RemoveSharedFrameworkDependencies.cs:line 38
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() in Microsoft.Build.dll:token 0x60015fc+0x3e
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) in Microsoft.Build.dll:token 0x600147b+0x804

#32219

@TanayParikh
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@Pilchie Pilchie added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Jul 15, 2021
@wtgodbe wtgodbe closed this Sep 24, 2021
@wtgodbe wtgodbe deleted the wtgodbe/PackageValidation branch September 24, 2021 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use Package Validation SDK

5 participants