[skill-runner] update-androidsdk-packages: refresh stable SDK packages - #12442
[skill-runner] update-androidsdk-packages: refresh stable SDK packages#12442github-actions[bot] wants to merge 7 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Command-line tools 23.0 no longer creates the licenses directory when --licenses is invoked, causing the marker Touch task to fail on all CI hosts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep separate source packages, hashes, and destinations for Android 37.0 and 37.1. Update the package refresh skill and its regression coverage so future stable source additions do not replace existing platform sources. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Command-line tools 23 deprecates sdkmanager --licenses and no longer creates Gradle's android-sdk-license file. Use android sdk install for the already-pinned Build Tools package, retain the legacy fallback, and verify the license file exists before writing the incremental marker. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
/review |
|
✅ Android PR Reviewer completed successfully!
|
There was a problem hiding this comment.
Found one correctness issue in the new license-acceptance path: an android CLI failure can be masked by a pre-existing license file, allowing the acceptance marker to be recreated after a failed command. The package pins, architecture-specific command-line tools, and preserved platform sources otherwise look coherent.
CI is still incomplete: two Linux MSBuild checks are running and the aggregate dotnet-android check is queued; completed checks currently show no failures.
Generated by Android PR Reviewer for #12442 · gpt56 · 169 AIC · ⌖ 18.7 AIC · ⊞ 25.7K
Comment /review to run again
Delete the existing Android SDK license before invoking the license tool so the postcondition proves the current invocation recreated it, even when the Android CLI's unreliable exit code must be ignored. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
Five SDK refresh blockers remain:
- Emulator 37.2.5 is Google channel-2 (
dev), not stable; current stable is 37.1.11. - Command-line tools 23.0 changes only bootstrap pins, while product installs/workload manifests still use 19.0; exact CI therefore never exercises 23.0, and generated-props invalidation omits
Configuration.props. - License acceptance executes an unpinned bootstrapper that downloads mutable
latestCLI payloads and rewrites the verified Build Tools directory. - Deleting the entire existing license loses valid fingerprints, while
Exists()alone accepts empty/truncated/wrong files; writes are non-atomic and unlocked. - macOS x64/arm64 archives share destination/sentinel outputs, so architecture switches can skip extraction and leave the wrong binaries installed.
Please restore stable-only selection, align shipped dependencies, pin/verify every executed payload, preserve and validate licenses atomically, and make extraction stamps architecture/hash-specific.
Use stable emulator packages, align command-line tools across bootstrap and product installs, and make license acceptance deterministic and atomic. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0e41ab6f-5ce8-4ee9-aea2-2dfb541e2592
|
Addressed the remaining SDK refresh blockers in commit 46e1c7a:
The NDK remains unchanged. |
Changes
13114758) to 23.0 (16111833) for Linux, Windows, macOS x64, and macOS arm64.15004761) to 37.2.5 (16079175) for Linux, Windows, macOS x64, and macOS arm64.Validation
dotnet build build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj -v:minimal— succeeded with 0 warnings and 0 errors.dotnet restore src/androidsdk/androidsdk.csproj— succeeded.dotnet build src/androidsdk/androidsdk.csproj --no-restore -v:minimal -t:_AddPlatformPackagesToInstall— succeeded with 0 warnings and 0 errors.git diff --check— succeeded._PlatformPackagecount and API-level set are unchanged and no NDK lines changed.Notes
No newer stable platform level exists upstream beyond platform 37.1, the highest entry in
_PlatformPackage.