Skip to content

Make a RID-suffixed copy of the dotnetup AOT binary for Arcade publishing#54422

Open
dsplaisted wants to merge 1 commit into
dotnet:release/dnupfrom
dsplaisted:dotnetup-rid-suffix
Open

Make a RID-suffixed copy of the dotnetup AOT binary for Arcade publishing#54422
dsplaisted wants to merge 1 commit into
dotnet:release/dnupfrom
dsplaisted:dotnetup-rid-suffix

Conversation

@dsplaisted
Copy link
Copy Markdown
Member

Previously, we were trying to have a blob filename different from the filename of the artifact that was produced, because for the downloads we need a RID-specific URL (ie ending in dotnetup-[.exe]).

However, it appears that Arcade doesn't support having the artifact filename differ from the blob filename. So after publish we make a copy of the dotnetup executable with the RID appended to it, and use that as the Artifact for Arcade.

…hing

Previously, we were trying to have a blob filename different from the filename
of the artifact that was produced, because for the downloads we need a
RID-specific URL (ie ending in dotnetup-<rid>[.exe]).

However, it appears that Arcade doesn't support having the artifact filename
differ from the blob filename.  So after publish we make a copy of the dotnetup
executable with the RID appended to it, and use that as the Artifact for Arcade.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 24, 2026 14:00
@dsplaisted dsplaisted requested a review from a team as a code owner May 24, 2026 14:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the dotnetup NativeAOT publishing pipeline so Arcade can publish RID-specific blobs whose artifact filename matches the desired blob filename (e.g., dotnetup-win-x64.exe). It does this by producing a RID-suffixed copy of the published executable and updating signing/publishing metadata to use that copy.

Changes:

  • Add an MSBuild target in dotnetup.csproj to copy the published binary to dotnetup-<rid>[.exe] after Publish.
  • Update signing artifact discovery and signing rules to use the RID-suffixed dotnetup binary.
  • Update publishing logic to set RelativeBlobPath for the RID-suffixed dotnetup binary and its .sha512 sidecar.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/Installer/dotnetup/dotnetup.csproj Creates a RID-suffixed copy of the published NativeAOT executable after publish.
src/Installer/dotnetup.Library/Program.cs Adjusts dotnetup entrypoint class visibility and adds XML docs.
eng/Signing.props Signs and registers the RID-suffixed dotnetup publish output as the blob artifact input.
eng/Publishing.props Assigns RID-suffixed RelativeBlobPath metadata for the dotnetup blob and checksum.

Comment thread src/Installer/dotnetup.Library/Program.cs
@dsplaisted
Copy link
Copy Markdown
Member Author

/ba-g Flaky SDK template engine test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants