arcade icon indicating copy to clipboard operation
arcade copied to clipboard

Use the Arcade SDK's publish.proj in dotnet/runtime

Open dotnet-bot opened this issue 2 years ago • 0 comments

Migrated from https://github.com/dotnet/core-eng/issues/12289

@riarenas wrote:

From an email with @ViktorHofer

Something that I’m thinking a lot about lately (and I also commented on it recently on an GH issue) is how we do publishing. Let me phrase that in a technical way: Why do we need all this repo-local custom publishing infrastructure and can’t let Arcade handle that: https://github.com/dotnet/runtime/blob/master/src/installer/prepare-artifacts.proj?

That project is responsible for

  1. Discovering the just downloaded build artifacts
  2. Creating a checksum file
  3. Uploading the build artifacts to AzDO

Instead of uploading the build artifacts in the installer legs to be later downloaded and then uploaded again, we could just get rid of that intermediate step and just upload to AzDO directly from the installer legs. Accomplishing that would improve reliability and reduce our (official) build times noticeably (probably 10-15min). I would love to see this being worked on as part of the Arcade / Runtime support, especially as publishing is an area that core-eng has most knowledge in.

This approach was chosen by core-setup in the 3.0 timeframe: Switch to Arcade yaml stage-based publishing with custom steps by dagood · Pull Request https://github.com/dotnet/core-eng/issues/7725 · dotnet/core-setup (github.com) and inherited that logic when we consolidated repositories into dotnet/runtime.

It’s likely that at the time this was implemented, there weren’t sufficient hooks available in Arcade.

We have done a lot of efforts in the publishing infrastructure since then. We should examine whether usage of the existing publishing process extensions hook such as the eng/publishing.props file would help simplify this scenario.

dotnet-bot avatar Apr 07 '22 21:04 dotnet-bot