Use non-stable version for SB SDK filename on publish#2750
Use non-stable version for SB SDK filename on publish#2750mthalman merged 6 commits intodotnet:release/10.0.1xxfrom
Conversation
No logic changes made here
|
@mthalman Let me know when you're satisfied with this change, so I can validate it as part of the servicing exercise. |
|
I'm still looking at it. Something's not quite right. The file at |
|
I think I see it. Your copy is from /s/artifacts to /s/artifacts. The artifact output is in the staging directory, /a/artifacts. Most of the output gets there via PushToBuildStorage. |
|
Ok, this looks to be working now. |
|
@mthalman was this ported to main? |
|
/backport to main |
|
Started backporting to |

The source-built SDK that is published as an artifact of a VMR build uses the same filename that is produced by the output of the
sdkrepo. In the case of stable versioning, this can lead to collisions in the storage account because it doesn't have any other part of the path that produces uniqueness. This differs from the source-built artifacts tarball, for example, which always uses a non-stable version in its filename.This is fixed by adding a symlink file which references the original SDK tarball. The symlink uses the non-stable version filename. The metadata constructed for publishing then references the symlink file so that the publishing manifest file is defined as we want. This allows the SDK tarball that is produced by the VMR built to still be named as it has always been but with the added benefit of always using a non-stable version filename when actually publishing that file.
Review the changes by viewing each commit. The first commit does a small refactor by moving logic source-build-specific logic from
Publishing.propstoPublishSourceBuild.props. The rest is actual changes to fix the issue.