-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Publish dotnet/runtime using standard Arcade Publish tooling #111934
Merged
jkoritzinsky
merged 84 commits into
dotnet:main
from
jkoritzinsky:standard-arcade-publish
Mar 7, 2025
Merged
Changes from all commits
Commits
Show all changes
84 commits
Select commit
Hold shift + click to select a range
0364ee2
Remove prepare-signed-artifacts and publish from each leg directly.
jkoritzinsky 7e284a4
Publish in a separate stage to make dependency tracking easy
jkoritzinsky d2c9cf8
Set _SignType so we can pass -sign
jkoritzinsky 3338d4d
Remove old validation target
jkoritzinsky 01bca60
!drop remove -sign so we can figure out publishing first
jkoritzinsky 88ee36c
Remove InitialTargets
jkoritzinsky d2fa244
Only generate product version files once. Fix asset manifest extensio…
jkoritzinsky f93b7e4
Completely restructure how we publish to be more explicit that specif…
jkoritzinsky 8ee9ac1
Move "non-RID-specific" special packages logic into Publishing.props
jkoritzinsky 4455301
Make sure we build the list of skipped packages after we add the RID-…
jkoritzinsky e36e87e
Arcade now handles TargetOS/TargetArchitecture for asset manifest nam…
jkoritzinsky 747bffe
Extract handling hostOS and hostArch into another props file
jkoritzinsky fbe3515
Fix import and adjust condition for SB
jkoritzinsky 6bbbc4c
Fix asset manifest name uniqueness to ensue we don't overwrite asset …
jkoritzinsky c1068eb
Set AssetManifestFilePath again
jkoritzinsky 9e61e42
Fix PublishAllPackages condition and make sure to publish the VS redi…
jkoritzinsky 05fe23b
Explicitly look up packages as we add zips and other blob artifacts t…
jkoritzinsky d8b032a
Search in the right folder.
jkoritzinsky 2ac88a1
Look up zips in VSSetup for workloads
jkoritzinsky 552bb1d
Add missing semicolon
jkoritzinsky 9247027
Include VSSetup artifacts separately
jkoritzinsky 1eb6a85
Re-enable signing (depends on Microbuild signing on Linux/Mac)
jkoritzinsky 72af6e0
Merge branch 'main' of github.com:dotnet/runtime into standard-arcade…
jkoritzinsky 8ce2e09
PR feedback
jkoritzinsky 40334a3
Specify Apple file signing info on macOS and simplify the macOS jobs …
jkoritzinsky 220a7dc
In a VMR-style build, produce the product version file in either the …
jkoritzinsky 210e527
Change where we set PublishAllPackages to make things automatically w…
jkoritzinsky 19d97f8
Merge branch 'main' into standard-arcade-publish
jkoritzinsky aeb2f75
Update eng/Publishing.props
jkoritzinsky 52c633b
Change the control property to be EnableDefaultArtifacts and Include …
jkoritzinsky e5541ce
Avoid global-property confusion within the VMR scenarios
jkoritzinsky 266966f
Merge branch 'main' of https://github.com/dotnet/runtime into standar…
jkoritzinsky d8a44ba
Collapse more jobs together in the YAML
jkoritzinsky bc2a9bf
Remove unused items
jkoritzinsky 6e03a6a
Move logic into Signing.props.
jkoritzinsky cbfbe4a
Only publish the LLVM runtime packs from LLVM legs
jkoritzinsky 60b8af5
Add the package artifacts to the right item group
jkoritzinsky 7b209dd
Fix package name format
jkoritzinsky ca33ca5
Fix handling host-targeting assets as NETCoreSdkRuntimeIdentifier is …
jkoritzinsky fa2e34f
Item updates for default artifacts must happen in Publishing.props
jkoritzinsky f9f7d21
Merge branch 'main' into standard-arcade-publish
jkoritzinsky 89f3d0c
Merge branch 'main' of github.com:dotnet/runtime into standard-arcade…
jkoritzinsky 9e43f5b
Use Arcade's RID-specific publish feature in dotnet/runtime
jkoritzinsky 431a50f
Fix dependencies
jkoritzinsky 7268ac4
Update host asset publishing
jkoritzinsky 8f34d79
Set TargetRid
jkoritzinsky d5e6b66
Adjust for Azure Linux package names and use artifact kinds
jkoritzinsky 57a7468
Merge branch 'main' of github.com:dotnet/runtime into standard-arcade…
jkoritzinsky 429758d
Restore a final join job for signing so we can merge this in and stop…
jkoritzinsky fee4328
Remove unused parameter
jkoritzinsky 4ccf449
The build stage shouldn't be a list
jkoritzinsky 9f7682e
Add variable for artifact name
jkoritzinsky 252e984
Try another variant
jkoritzinsky 831c5ac
Try to simplify
jkoritzinsky 081db0d
Another try
jkoritzinsky 6d21984
Add the target path
jkoritzinsky 12ae0fd
Define the artifact name like how we define the build job names for s…
jkoritzinsky 61df0b7
Make some items a list
jkoritzinsky b4ade05
Rewrite how we insert the "other" stages
jkoritzinsky 8bf1832
Remove duplicate pool
jkoritzinsky 1a2a5b9
Fix stage name
jkoritzinsky acb8be4
Fix conditions
jkoritzinsky f014371
Fix expected pipeline artifact names
jkoritzinsky ef298be
Always put a templateContext into global-build-job even if one isn't …
jkoritzinsky 5aa4ea7
Fix typo and adjust publishing to handle PDBs
jkoritzinsky 9527b73
Set blob artifact kind
jkoritzinsky 3a6a04f
Fix item name for AzureLinux RPM signing
jkoritzinsky 3702f3c
Put the VSSetup blobs in the VSSetup folder and adjust the relative b…
jkoritzinsky 5fe309f
Fix crossdac and workloads downloads
jkoritzinsky 2343ebe
inputs happen before clone. Don't download into the sources directory
jkoritzinsky b08df1e
Fix paths
jkoritzinsky f37e6a5
Skip extracting packages that don't match so we can see the whole list.
jkoritzinsky d3b9cfd
Add arm32 downloads for crossdac
jkoritzinsky 2c90296
Publish crossos dac packages
jkoritzinsky a0e9fe6
Don't use RID-specific artifacts for the cross-dac build
jkoritzinsky 53c44db
Fix source-build and deps
jkoritzinsky 0e820f4
Fix join-job signing
jkoritzinsky fbf49fc
Add back split macos job to the official build. These files need to b…
jkoritzinsky e91c434
Merge branch 'standard-arcade-publish' of https://dev.azure.com/dncen…
jkoritzinsky 9557e70
Remove duplicate jobs
jkoritzinsky 745a8a1
Adjust commands for macos split job
jkoritzinsky a314fc3
Use the right property for the signing items base directory
jkoritzinsky 5312597
Update Signing.props
jkoritzinsky f93980b
Remove duplicate signing inputs
jkoritzinsky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<Project> | ||
<PropertyGroup Label="CalculateTargetOS"> | ||
<_hostOS>linux</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('HAIKU'))">haiku</_hostOS> | ||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows</_hostOS> | ||
<HostOS>$(_hostOS)</HostOS> | ||
<TargetOS Condition="'$(TargetOS)' == '' and '$(RuntimeIdentifier)' == 'browser-wasm'">browser</TargetOS> | ||
<TargetOS Condition="'$(TargetOS)' == ''">$(_hostOS)</TargetOS> | ||
<TargetsMobile Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi'">true</TargetsMobile> | ||
<TargetsAppleMobile Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'">true</TargetsAppleMobile> | ||
</PropertyGroup> | ||
|
||
<!-- Platform property is required by RepoLayout.props in Arcade SDK. --> | ||
<PropertyGroup Label="CalculateArch"> | ||
<_hostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</_hostArch> | ||
<BuildArchitecture Condition="'$(BuildArchitecture)' == ''">$(_hostArch)</BuildArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and ('$(TargetOS)' == 'browser' or '$(RuntimeIdentifier)' == 'browser-wasm')">wasm</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and ('$(TargetOS)' == 'wasi' or '$(RuntimeIdentifier)' == 'wasi-wasm')">wasm</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'arm'">arm</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'armv6'">armv6</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'armel'">armel</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'arm64'">arm64</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'loongarch64'">loongarch64</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 's390x'">s390x</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'ppc64le'">ppc64le</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetsMobile)' == 'true'">x64</TargetArchitecture> | ||
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture> | ||
<Platform Condition="'$(Platform)' == '' and '$(InferPlatformFromTargetArchitecture)' == 'true'">$(TargetArchitecture)</Platform> | ||
</PropertyGroup> | ||
</Project> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
These settings make sense to me but wouldn't they better fit into the VMR orchestrator as they aren't specific to runtime?
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, they do fit better in the VMR. However, we need to put them here first so they don't break the VMR until I change the VMR to pass these options down (also in PR)
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.
Once the VMR controls are in, I'll come back and remove these.
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.
Consider filing a tracking issue and linking to it. Also, so that others can follow along and understand the potential for improvement in these code paths.