Skip to content

feat(Uno.Sdk.Updater): Add CLI exclude-file support and improve manifest merge logic#1752

Merged
agneszitte merged 2 commits into
mainfrom
dev/agzi/AddSdkUpdateExclusion
Sep 3, 2025
Merged

feat(Uno.Sdk.Updater): Add CLI exclude-file support and improve manifest merge logic#1752
agneszitte merged 2 commits into
mainfrom
dev/agzi/AddSdkUpdateExclusion

Conversation

@agneszitte

@agneszitte agneszitte commented Aug 28, 2025

Copy link
Copy Markdown
Member

GitHub Issue (If applicable): related to unoplatform/uno#21372

PR Type

What kind of change does this PR introduce?

  • Feature
  • Improvement

What is the current behavior?

The Uno.Sdk.Updater tool and CI workflow:

  • Update all package groups unconditionally.
  • Merge manifests in a way that can cause unwanted downgrades.
  • Preserve local VersionOverride entries inconsistently, sometimes removing them.
  • ReaMe.md still mentions .NET 9 for the override note

What is the new behavior?

  • Added support for excluding package groups from automatic updates using a JSON configuration file (.github/sdk-update-exclude.json) passed via a new CLI argument (--exclude-file).
  • Adjusted merge logic to prevent downgrades of local versions.
  • Ensured local VersionOverride entries are always preserved and take precedence.
  • Added clear logging to confirm when exclusions and overrides are applied.
  • ReaMe.md now mentions .NET 10 for the override note, as we added .NET 10 support

This gives finer control over dependency updates, avoids regressions, and simplifies local testing.

PR Checklist

Please check if your PR fulfills the following requirements:

  • Associated with an issue (GitHub or internal)

Other information

The default exclude file is located at .github/sdk-update-exclude.json.
For local testing, the CLI can be run as:

dotnet run -c Release --project tools/Uno.Sdk.Updater -- --exclude-file .github/sdk-update-exclude.json

Comment thread tools/Uno.Sdk.Updater/Program.cs Outdated
@jeromelaban
jeromelaban requested a review from Copilot August 29, 2025 12:09

This comment was marked as outdated.

@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from c411e88 to 02273a7 Compare August 29, 2025 21:40
@agneszitte
agneszitte marked this pull request as draft August 29, 2025 21:41
@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from 02273a7 to 288cac3 Compare August 29, 2025 21:43
@agneszitte agneszitte changed the title feat(Uno.Sdk.Updater): Add support for excluding package groups via JSON file feat(Uno.Sdk.Updater): Add CLI exclude-file support and improve manifest merge logic Aug 29, 2025
@agneszitte
agneszitte requested a review from Copilot August 29, 2025 21:50

This comment was marked as outdated.

@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from 288cac3 to 5208eac Compare August 29, 2025 22:09
@agneszitte
agneszitte requested a review from Copilot August 29, 2025 22:09

This comment was marked as outdated.

@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from 5208eac to 136cfb6 Compare August 29, 2025 22:26
@agneszitte
agneszitte requested a review from Copilot August 29, 2025 22:27

This comment was marked as outdated.

@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from fb34c6a to 0f23fa0 Compare August 29, 2025 22:40
@agneszitte
agneszitte requested a review from Copilot August 29, 2025 22:41

This comment was marked as outdated.

@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from 0f23fa0 to 008a9cf Compare August 29, 2025 22:44
@agneszitte
agneszitte requested a review from Copilot August 29, 2025 22:44

This comment was marked as outdated.

@agneszitte
agneszitte marked this pull request as ready for review August 29, 2025 23:20
Comment thread tools/Uno.Sdk.Updater/Program.cs Outdated
@agneszitte
agneszitte force-pushed the dev/agzi/AddSdkUpdateExclusion branch from 008a9cf to 640c92b Compare September 3, 2025 20:51
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.

3 participants