Skip to content

Bump Xamarin.Android.Tools.AndroidSdk to 1.0.189-preview.58 - #305

Merged
jfversluis merged 4 commits into
mainfrom
rmarinho/bump-xamarin-android-tools-androidsdk
Jul 2, 2026
Merged

Bump Xamarin.Android.Tools.AndroidSdk to 1.0.189-preview.58#305
jfversluis merged 4 commits into
mainfrom
rmarinho/bump-xamarin-android-tools-androidsdk

Conversation

@rmarinho

@rmarinho rmarinho commented Jun 2, 2026

Copy link
Copy Markdown
Member

Summary

Bump Xamarin.Android.Tools.AndroidSdk from 1.0.155-preview.137 to 1.0.189-preview.58.

Source: dotnet/android release/11.0.1xx-preview6 @ 2114bc81.
Channel: .NET 11.0.1xx SDK Preview 6.
Compare with previous pin: dotnet/android@e8fb4bc...2114bc8

Notable upstream changes

Actionable diff lives in the external/xamarin-android-tools submodule. Highlights:

  • New AvdManagerRunner.ListDeviceProfilesAsync() API (dotnet/android-tools#325) — returns all AVD device profiles from avdmanager list device.
  • Android API 37 (CinnamonBun) support.
  • Emulator process robustness fixes (#359, #361, #362) around HasExited / ExitCode on the launcher fork pattern.

CLI follow-up

No CLI code changes in this PR.

  • Source-compat verified: all types the CLI uses (AdbRunner, AvdManagerRunner, EmulatorRunner, SdkManager, SdkPackage, AvdInfo, JdkInfo, SdkBootstrap*) still present with the same public surface. Confirmed via PublicAPI.{Shipped,Unshipped}.txt at the new SHA and a clean local Release build.
  • The upstream emulator fixes wrap EmulatorRunner's process handling; our own AvdManager.cs (L275-318) wraps our own Process.Start, so those fixes don't simplify our code.
  • The new ListDeviceProfilesAsync() looks tempting for the emulator device picker, but its output (record AvdDeviceProfile(string Id) with no friendly name) would regress the current curated 7-profile UX. Filed as CLI: consider adopting AvdManagerRunner.ListDeviceProfilesAsync() for emulator device picker #306 for follow-up (hybrid picker with an "All device profiles…" opt-in).

Feed / signing notes

The package is classified non-shipping by dotnet/android (fixed in dotnet/android#11281, May 2026), so it now publishes to dotnet11-transport rather than dotnet11. This PR adds dotnet11-transport to NuGet.config so public restore can resolve the pin.

Earlier iterations of the branch (see commit history) pinned to 1.0.179-ci.main.323, a CI build that is signed only with the Microsoft Testing Root CA 2010 test cert and lacks an RFC 3161 timestamp countersignature. That triggered NU3027 on Windows CI. Moving to 1.0.189-preview.58 — which is production-signed by CN=Microsoft Corporation via DigiCert with a timestamp — removes the need for that workaround and restores strict signature validation.

Validation

  • dotnet restore src/Cli/Cli.slnf — ✅ resolves 1.0.189-preview.58 from dotnet11-transport
  • dotnet build src/Cli/Cli.slnf -c Release — ✅ 0 warnings, 0 errors
  • dotnet nuget verify on the package — ✅ passes with no NU3027

Copilot AI review requested due to automatic review settings June 2, 2026 22:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the repo’s pinned Android SDK tooling dependency (Xamarin.Android.Tools.AndroidSdk) to a newer darc/maestro-provided build, keeping MAUI CLI/Android tooling aligned with upstream dotnet/android.

Changes:

  • Bump Xamarin.Android.Tools.AndroidSdk from 1.0.155-preview.137 to 1.0.179-ci.main.323.
  • Update the tracked upstream dotnet/android SHA in dependency metadata.
  • Remove an incidental trailing blank line in NuGet.config.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
NuGet.config Removes a trailing blank line (no functional feed changes).
eng/Versions.props Updates the XamarinAndroidToolsAndroidSdkVersion property to the new version.
eng/Version.Details.xml Updates dependency version and SHA for dependency flow tracking.

Comment thread eng/Versions.props
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Expert Code Review — PR #305

Methodology: 3 independent reviewers with adversarial consensus

Findings

1 finding posted as inline comment (1 critical)

# Severity Consensus File Line Finding
1 🔴 Critical 3/3 eng/Versions.props 65 Package 1.0.179-ci.main.323 not available on any configured public NuGet feed — dotnet restore will fail in GitHub Actions CI

Discarded Findings

The following were flagged by only 1 reviewer and did not achieve consensus:

  • SemVer prerelease ordering risk (🟡, Reviewer 1) — Both other reviewers disagreed: darc pins exact versions, not ranges, so the lexicographic ci.main < preview comparison never triggers in practice.
  • Zero build validation before merge (🟡, Reviewer 2) — Subsumed by the critical finding (same root cause: package unavailability prevents any validation).
  • Channel label inconsistency in PR description (🟢, Reviewer 2) — Documentation-only, no code impact.
  • NuGet.config blank line removal (🟢, Reviewer 1) — Cosmetic, explicitly benign.

CI Status

  • Several builds in progress (macOS + Windows matrix across multiple products)
  • 1 macOS build failed (cancelled/superseded)
  • Multiple product builds succeeded (those not depending on the Android SDK package)
  • The CLI build is expected to fail on package resolution once it reaches dotnet restore

Test Coverage

No tests are affected — this PR changes only infrastructure version pins with no source code modifications. The existing test suite will validate API compatibility once the package is resolvable.


Generated by Expert Code Review · 3 independent reviewers with adversarial consensus

Generated by Expert Code Review (auto) for issue #305 · ● 6.6M ·

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expert Code Review: 1 critical finding posted inline. See the lean summary comment for full details.

Generated by Expert Code Review (auto) for issue #305 · ● 6.6M

Comment thread eng/Versions.props Outdated
Copilot AI and others added 2 commits June 3, 2026 19:24
….179-ci.main.323

Channel: .NET 11.0.1xx SDK
Repo: dotnet/android e8fb4bc8...9e7ba6ea (android-tools submodule: 2fd1240...3c95718)

Notable upstream changes: new AvdManagerRunner.ListDeviceProfilesAsync() API,
API 37 (CinnamonBun) added to KnownVersions, and several emulator launch
robustness fixes. No CLI code changes required — the pinned API surface is
backward-compatible with our current usage of AdbRunner, AvdManagerRunner,
EmulatorRunner, SdkManager and JdkInfo.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Xamarin.Android.Tools.AndroidSdk package is classified as
non-shipping by dotnet/android (see dotnet/android#11281, which
fixed the NonShipping metadata casing in May 2026). Non-shipping
packages publish to the dotnet11-transport Azure DevOps feed
rather than dotnet11, so the existing public feed list cannot
resolve the 1.0.179-ci.main.323 pin added in this branch.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rmarinho
rmarinho force-pushed the rmarinho/bump-xamarin-android-tools-androidsdk branch from 9525fa0 to bd325a2 Compare June 3, 2026 18:24
rmarinho and others added 2 commits June 3, 2026 19:57
Packages on the dotnet11-transport feed are signed but not
long-term timestamped, which Arcade's strict signature validation
promotes to error NU3027 on Windows CI runners. Suppress the
warning so restore succeeds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move from 1.0.179-ci.main.323 (CI build, signed with test cert,
not timestamped) to 1.0.189-preview.58, which is production-signed
by Microsoft Corporation with a DigiCert timestamp countersignature
and passes 'dotnet nuget verify' cleanly.

Source: dotnet/android release/11.0.1xx-preview6 @ 2114bc81
Channel: .NET 11.0.1xx SDK Preview 6

Also drop the NU3027 NoWarn added in 624bc76: now that we're on
a properly timestamped package, the warning no longer fires and we
avoid disabling long-term signature validation across the repo.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rmarinho rmarinho changed the title Bump Xamarin.Android.Tools.AndroidSdk to 1.0.179-ci.main.323 Bump Xamarin.Android.Tools.AndroidSdk to 1.0.189-preview.58 Jul 1, 2026
@rmarinho
rmarinho requested a review from Copilot July 1, 2026 17:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@jfversluis
jfversluis merged commit c4e0875 into main Jul 2, 2026
26 checks passed
@jfversluis
jfversluis deleted the rmarinho/bump-xamarin-android-tools-androidsdk branch July 2, 2026 13:50
jfversluis pushed a commit that referenced this pull request Jul 7, 2026
PR #305 added the dotnet11-transport feed to NuGet.config but the AI
configuration files were not updated to reflect this change.

Co-authored-by: GitHub Copilot <copilot@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants