maui/eng
Rui Marinho 6f1322bdfd
[ci] Fix provisioning with sudo (#25722)
* try with sudo

* dont do doctor
2024-11-07 10:56:44 +00:00
..
automation [ci] Add new fonts to Sign list (#25526) 2024-10-25 16:46:48 +01:00
cake [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
common Revert "[release/9.0.1xx] Updates for ASPNET GA branding (#25348)" 2024-10-25 13:58:42 +01:00
devices [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
pipelines [ci] Fix provisioning with sudo (#25722) 2024-11-07 10:56:44 +00:00
provisioning [release/9.0.1xx] [net9.0] Run device tests arm (#25375) 2024-10-18 15:05:50 +01:00
scripts [ci] Fix provisioning with sudo (#25722) 2024-11-07 10:56:44 +00:00
AndroidX.targets Android Ecosystem updates for `net9.0-rc.2` (#24665) 2024-09-25 12:36:06 -05:00
BannedApis.targets Handle CA1416 violations found in MAUI repo (#6237) 2022-04-28 16:43:25 +02:00
BannedSymbols.txt [release/8.0.1xx-rc2.2] Make sure to account for a null AppWindow (#18313) 2023-10-25 00:05:35 +01:00
Build.props [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
Environment.Build.props [arcade] Move to arcade 8.0 for main and to use new Version system (#22400) 2024-05-15 18:32:30 +01:00
ILRepack.exe Strong name the build tasks for the IDE (#14080) 2023-04-14 16:12:31 +02:00
ILRepack.targets Strong name the build tasks for the IDE (#14080) 2023-04-14 16:12:31 +02:00
NuGetVersions.targets [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
Publishing.props [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
README.md [ci] Upload build asset data to darc/maestro (#20785) 2024-02-23 19:49:55 +00:00
ReplaceText.targets .NET MAUI is now a "workload" (#603) 2021-06-16 17:59:53 +01:00
Signing.props [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
SourceLink.Build.props Update sourcelink, set deterministic builds in CI (#16127) 2023-07-13 12:12:57 +02:00
Tools.props [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
Version.Details.xml Update dependencies from https://github.com/dotnet/xharness build 20241024.9 (#25553) 2024-10-30 15:22:44 +00:00
Versions.props Merge branch 'release/9.0.1xx' into merge_main 2024-10-30 16:13:05 -05:00
Versions.targets [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
build.ps1 [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
build.sh [release/9.0.1xx] Build arcade net9 on GA branch (#25336) 2024-10-17 11:51:18 +01:00
microsoft.maui.controls.snk Rename all of the things... All of them. (#13847) 2021-02-24 23:50:31 +00:00

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 available 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. 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.Dotnet.Sdk.Internal -t product -v 6.0.0-preview.2.21154.6 -r https://github.com/dotnet/installer

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/dotnet/maui --target-branch main --update-frequency everyWeek --standard-automerge

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 9.0.1xx SDK" --branch "net9.0" --repo https://github.com/dotnet/maui

When a new release branch is created, this command should look something like this:

darc add-default-channel --channel ".NET 9.0.1xx SDK Preview 1" --branch "release/9.0.1xx-preview1" --repo https://github.com/dotnet/maui

Other products/tools can consume our package version info in the following way:

darc add-dependency -n Microsoft.Maui.Sdk -t product -r https://github.com/dotnet/maui -v 1.2.3