Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Sep 21, 2022

This makes sure that partner repositories have their internal transport packages available. This needs to be set explicitly as during servicing, libraries only publish on demand.

This also fixes broken 7.0 servicing builds which require at least one package to be published.

Manual, partial backport of c5a20f9.

This change will be backported into release/7.0 after it is merged.

This makes sure that partner repositories have their internal transport
packages available. This needs to be set explicitly as during servicing,
libraries only publish on demand.

This also fixes broken 7.0 servicing builds which require at least one
package to be published.

Manual, partial backport of c5a20f9.
@ghost
Copy link

ghost commented Sep 21, 2022

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This makes sure that partner repositories have their internal transport packages available. This needs to be set explicitly as during servicing, libraries only publish on demand.

This also fixes broken 7.0 servicing builds which require at least one package to be published.

Manual, partial backport of c5a20f9.

Author: ViktorHofer
Assignees: ViktorHofer
Labels:

area-Infrastructure-libraries

Milestone: -

Copy link
Contributor

@carlossanlop carlossanlop left a comment

Choose a reason for hiding this comment

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

Assuming the change works, signing off.

Questions:

  • Why does this PR not contain any of the changes for eng/Versions.props that the 6.0 commit introduced? Specifically, the ProjectServicingConfiguration PatchVersion bump.
  • I suspect the ProductVersion/PatchVersion/PreReleaseVersionLabel/PreReleaseVersionIteration don't make sense in this PR because it's targeting main, correct? We would probably do it when backporting.
  • Left a couple other questions in the files.

</PropertyGroup>

<!-- Always generate this package during servicing to flow the dependency to WindowsDesktop. -->
<PropertyGroup Condition="'$(PreReleaseVersionLabel)' == 'servicing'">
Copy link
Contributor

Choose a reason for hiding this comment

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

Why does this PropertyGroup and the one from the file above contain the condition for 'servicing', but not the 6.0 change? Back then, this condition was part of the packaging.targets file.

Copy link
Member Author

Choose a reason for hiding this comment

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

Because the 6.0 change was directly committed to release/6.0 when release/6.0 meant 6.0.1. That branch will never again mean anything else than servicing, that's why the condition wasn't needed. This change is more universal and works in both servicing, RTM and main.

<GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)' != 'true'">false</GeneratePackageOnBuild>
<!-- When in source-build we need to generate all packages when building for all configurations even in servicing. -->
<GeneratePackageOnBuild Condition="!$(GeneratePackageOnBuild) and
<GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)' != 'true' and
Copy link
Contributor

Choose a reason for hiding this comment

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

Comparing to the 6.0 commit, I see the conditions are very different now.

  • Added: GeneratePackageOnBuild != true
  • Added: IsRIDSpecificProject != true
  • Removed: PreReleaseVersionLabel == servicing
  • Removed: GitHubRepositoryName != runtimelab
  • Changed: BuildAllConfigurations != true to == true
  • Added: DotNetBuildFromSource == true

For my own education, would you mind explaining all these differences?

Copy link
Member Author

Choose a reason for hiding this comment

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

Those conditions were "cleaned-up" in an unrelated change. This change just uses a different style for the condition: instead of !$(GeneratePackageOnBuild) it now uses '$(GeneratePackageOnBuild)' != 'true' which is the syntax that I prefer. Mainly because it also works when the property isn't set.

@ViktorHofer
Copy link
Member Author

Why does this PR not contain any of the changes for eng/Versions.props that the 6.0 commit introduced? Specifically, the ProjectServicingConfiguration PatchVersion bump.

ProjectServicingConfiguration was a configuration for the legacy part of the Microsoft.DotNet.SharedFramework.Sdk infrastructure that meanwhile got removed.

I suspect the ProductVersion/PatchVersion/PreReleaseVersionLabel/PreReleaseVersionIteration don't make sense in this PR because it's targeting main, correct? We would probably do it when backporting.

Correct. Those changes will happen when we brand release/7.0 to 7.0.1.

@ViktorHofer ViktorHofer merged commit fe4b11d into main Sep 21, 2022
@ViktorHofer ViktorHofer deleted the ServicingFlowInternalPackages branch September 21, 2022 17:38
@ViktorHofer
Copy link
Member Author

/backport to release/7.0

@github-actions
Copy link
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3099897650

@ghost ghost locked as resolved and limited conversation to collaborators Oct 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants