-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Proposed tasks to improve the OOB nuget build process in servicing branches #81974
Comments
Tagging subscribers to this area: @dotnet/area-infrastructure-libraries Issue DetailsThe following items were discussed with @ViktorHofer and @smasher164 to improve the overall experience of servicing code from an OOB package. Reseting GeneratePackageOnBuild to falseCurrently, we reset the If someone submits a servicing PR that modifies a package that depends on another OOB package that had its version bumped the previous month, the CI will start showing a failure in AllConfigurations stating that the nuget dependency is not found in nuget.org. This happens because the nuget packages created the previous month have not yet been pushed to nuget (this is expected) due to the previous month's GA date (which is the day we push them) happening after the current month's Code Complete date. The problem gets worse if we end up merging such PR, because now the failure propagates to the servicing rolling builds and subsequent PRs. Here is an example: #81914 To prevent this problem in the future, we have decided to separate branding from resetting the property. Here are two tasks to achieve this:
These PRs would be the last ones we would merge on the Code Complete day. We will also be able to consider the official closing of the servicing branches for that month. Doing this will prevent having the servicing rolling builds and the PR CI runs in red due to nuget failures. Note: we might have some servicing rolling builds failing, but once the nuget packages get pushed, they should go away. Additionally, we will request the possibility of aligning the GA and Code Complete dates, to prevent red builds completely. Fail when a Microsoft.Windows.Compatibility dependency is modifiedThe M.W.C. package is a package with no source code that depends on a bunch of other packages. If a new version of one of its dependencies gets built, we need to make sure to also build a new version of M.W.C., and push both new packages to nuget. We currently don't have an easy way to remind ourselves to do this, and it has already happened in the past that we forget to build M.W.C. and we only hear about it after a customer asks for the update. To prevent forgetting, we have decided to take some steps:
|
Closing as M.W.C was moved to windowsdesktop and we started using different branches for servicing. |
The following items were discussed with @ViktorHofer and @smasher164 to improve the overall experience of servicing code from an OOB package.
Resetting GeneratePackageOnBuild to false
Currently, we reset the
<GeneratePackageOnBuild>
property of OOB csproj files tofalse
in the branding PRs that get created every month when the servicing branches are opened.If someone submits a servicing PR that modifies a package that depends on another OOB package that had its version bumped the previous month, the CI will start showing a failure in AllConfigurations stating that the nuget dependency is not found in nuget.org.
This happens because the nuget packages created the previous month have not yet been pushed to nuget (this is expected) due to the previous month's GA date (which is the day we push them) happening after the current month's Code Complete date.
The problem gets worse if we end up merging such PR, because now the failure propagates to the servicing rolling builds and subsequent PRs.
Here is an example: #81914
To prevent this problem in the future, we have decided to separate branding from resetting the property. Here are two tasks to achieve this:
src/libraries
that belong to OOB packages, and change<GeneratePackageOnBuild>
tofalse
.These PRs would be the last ones we would merge on the Code Complete day. We will also be able to consider the official closing of the servicing branches for that month. Doing this will prevent having the servicing rolling builds and the PR CI runs in red due to nuget failures. Note: we might have some servicing rolling builds failing, but once the nuget packages get pushed, they should go away. Additionally, we will request the possibility of aligning the GA and Code Complete dates, to prevent red builds completely.
Fail when a Microsoft.Windows.Compatibility dependency is modified
The M.W.C. package is a package with no source code that depends on a bunch of other packages. If a new version of one of its dependencies gets built, we need to make sure to also build a new version of M.W.C., and push both new packages to nuget. We currently don't have an easy way to remind ourselves to do this, and it has already happened in the past that we forget to build M.W.C. and we only hear about it after a customer asks for the update.
To prevent forgetting, we have decided to take some steps:
<GeneratePackageOnBuild>
property set totrue
, but M.W.C. itself does not.The text was updated successfully, but these errors were encountered: