-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Enable publishing in VMR #54422
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
Enable publishing in VMR #54422
Conversation
eng/Publishing.props
Outdated
|
||
<ItemsToPushToBlobFeed Include="@(_ChecksumsToPublish)"> | ||
<ManifestArtifactData>NonShipping=true</ManifestArtifactData> | ||
<PublishFlatContainer>true</PublishFlatContainer> | ||
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath> | ||
</ItemsToPushToBlobFeed> | ||
|
||
<ItemsToPushToBlobFeed Include="@(_VersionFileToPublish)"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this not getting published before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not in VMR build, no.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK - I see why - this is conditioned on PublishInstallerBaseVersion
-
aspnetcore/eng/Publishing.props
Lines 34 to 35 in d9df235
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.version" UploadPathSegment="Runtime" | |
Condition=" '$(PublishInstallerBaseVersion)' == 'true' " /> |
The property is only set in CI:
aspnetcore/.azure/pipelines/ci.yml
Line 350 in d9df235
/p:PublishInstallerBaseVersion=true |
I should probably update the existing condition to also publish in VMR (i.e. when '$(DotNetBuildRepo)' == 'true')?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. When you see things like this, e.g. OS != Windows_NT
or some kind of random flag that says SkipPublishingInstallers
or something along those lines, it's that the repo's official build was publishing duplicates of assets between two legs. So Windows and OSX both produced Foo.Bar. The rule in our official builds is that when the merged manifest is generated, you can't have any duplicates from the input manifests.
This is not the rule in the VMR and we don't want to do this here. The asset selection that will happen at the merge point will be responsible for deciding which of a set of duplicates wins, and we'll add metadata to repo builds as necessary to feed the algorithm. This is in contrast to the official repo builds, which just avoid publishing altogether for duplicate assets.
So, much of your publishing.props changes in the repos can get a lot simpler (maybe go away altogether)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed with 9dc87de
Contributes to dotnet/source-build#4101
Enables publishing in VMR.