20dc67f084
* Update dependencies from https://github.com/dotnet/installer build 20210628.9 Microsoft.Dotnet.Sdk.Internal From Version 6.0.100-preview.7.21327.2 -> To Version 6.0.100-preview.7.21328.9 Dependency coherency updates Microsoft.NET.ILLink.Tasks From Version 6.0.100-preview.6.21322.1 -> To Version 6.0.100-preview.6.21327.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20210630.1 Microsoft.Dotnet.Sdk.Internal From Version 6.0.100-preview.7.21327.2 -> To Version 6.0.100-preview.7.21330.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks From Version 6.0.100-preview.6.21322.1 -> To Version 6.0.100-preview.6.21329.2 (parent: Microsoft.Dotnet.Sdk.Internal Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
README.md | ||
Version.Details.xml | ||
Versions.props |
README.md
The eng
folder contains and is used by parts of the https://github.com/dotnet/arcade SDK.
Dependency Management
The Arcade SDK contains a tool known as darc
, which can be used to manage
and query the relationships between repositories in the dotnet ecosystem.
The eng/Version.Details.xml
and eng/Versions.props
files contain information
about the products and tooling that this repository depends on.
Many dotnet repositories use a publishing workflow that will push build artifact data
to a central location known as the "Build Asset Registry". This data includes
a "channel" association, which is used to determine when an update for a particular
product or tool is available. Local updates and automatic update "subscriptions"
compare the version files in the repository against the versions avalable in the
channel that you are interested in. The darc
tool is used facilitate these updates.
To work with darc
locally, see the setting up your darc client docs.
You'll need to run a script in the dotnet/arcade repo to install the dotnet global
tool, join the arcade-contrib
GitHub team, and run the darc authenticate
command to add the PATs required by the tool.
The GitHub PAT that you add must have the full repo
scope enabled if you
want to work with any of the subcription
commands. You'll also have to
enable SSO (for the xamarin org). Subscriptions control the automated creation
of dependency update pull requests.
To add a new dependency, run the darc add-dependency
command at the root
of the repository:
darc add-dependency -n Microsoft.NetCore.App.Runtime.ios-arm64 -t product -v 6.0.0-preview.2.21154.6 -r https://github.com/dotnet/runtime
To update all dependencies, use the darc update-dependencies
command:
darc update-dependencies --channel ".NET 6"
To configure automatic updates, use the darc add-subscription
command
to enroll a target repo/branch into updates from a particular channel:
darc add-subscription --channel ".NET 6" --source-repo https://github.com/dotnet/installer --target-repo https://github.com/xamarin/xamarin-macios --target-branch main --update-frequency everyWeek --standard-automerge
To configure automatic updates for a release branch, use the following arguments:
darc add-subscription --channel ".NET 6.0.1xx SDK Preview 5" --source-repo https://github.com/dotnet/installer --target-repo https://github.com/xamarin/xamarin-macios --target-branch release/6.0.1xx-preview5 --update-frequency everyDay
Once a subscription is configured, pull requests will be created automatically by the dotnet Maestro bot whenever dependency updates are available.
Subscriptions need to be manually managed at this time. For example, when a
release branch is created, someone with darc
installed locally will need to
run the add-subscription
command to configure updates against that new branch.
Build Asset Manifest Promotion
Builds from main and release branches will push NuGet package metadata to the
darc/maestro Build Asset Registry. This build information will also be promoted
to a default darc/maestro channel if one is configured. Default channels are
manually managed at this time. To configure a new default repo+branch <-> channel
association, run the darc add-default-channel
command:
darc add-default-channel --channel ".NET 6" --branch "main" --repo https://github.com/xamarin/xamarin-macios
When a new release branch is created, this command should look something like this:
darc add-default-channel --channel ".NET 6.0.1xx SDK Preview 4" --branch "release/6.0.1xx-preview4" --repo https://github.com/xamarin/xamarin-macios