Skip to content

Onboard Package Validation SDK #34122

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

Closed
wants to merge 4 commits into from
Closed

Conversation

wtgodbe
Copy link
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 Anipik and a team July 6, 2021 17:36
@wtgodbe wtgodbe requested review from dougbu and Pilchie as code owners July 6, 2021 17:36
Copy link
Member

@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.

<!-- Properties for Package Validation -->
<!-- We only want to check for API changes in servicing branches -->
<PropertyGroup Condition=" '$(IsServicingBuild)' != 'true' ">
<DisablePackageBaselineValidation>true</DisablePackageBaselineValidation>
Copy link
Member

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
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
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
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
Member

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
Member

dougbu commented Jul 6, 2021

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@dougbu
Copy link
Member

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
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
Contributor

/azp run

@azure-pipelines
Copy link

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