Skip to content
This repository was archived by the owner on Aug 5, 2026. It is now read-only.

chore: install Android API 34 platform before macOS MAUI build - #21

Merged
jsonbailey merged 1 commit into
mainfrom
devin/1785429575-fix-maui-android-sdk
Jul 31, 2026
Merged

chore: install Android API 34 platform before macOS MAUI build#21
jsonbailey merged 1 commit into
mainfrom
devin/1785429575-fix-maui-android-sdk

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

The build-maui job (macos-latest) has failed every day since 2026-07-05, when the macOS runner image stopped shipping the Android API level 34 platform:

error XA5207: Could not find android.jar for API level 34 ...
expected to be in `/Users/runner/Library/Android/sdk/platforms/android-34/android.jar`

Adds the MSBuild-recommended step before the Android build, which installs the missing platform (and accepts licenses) into the runner's existing SDK directory:

dotnet build MauiApp -f net8.0-android -t:InstallAndroidDependencies \
  -p:AndroidSdkDirectory="${ANDROID_HOME:-$HOME/Library/Android/sdk}" -p:AcceptAndroidSDKLicenses=True

The Linux build-and-run job is unaffected (that image still has API 34) and is left unchanged.

Latest failing run: https://github.com/launchdarkly/hello-dotnet-client/actions/runs/30441473256

Link to Devin session: https://app.devin.ai/sessions/bbaa402957474f3ab30fe102ed0316e2


Note

Low Risk
CI-only workflow change with no application or runtime behavior impact.

Overview
Fixes daily failures in the build-maui job on macos-latest caused by the runner image no longer including Android API 34 (XA5207 / missing android.jar).

Adds an Install Android SDK dependencies step that runs MSBuild InstallAndroidDependencies against MauiApp for net8.0-android, pointing at the runner SDK (ANDROID_HOME or ~/Library/Android/sdk) and accepting licenses, before the existing Android build step. The Ubuntu build-and-run job is unchanged.

Reviewed by Cursor Bugbot for commit 3964373. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
devin-ai-integration Bot requested a review from a team as a code owner July 30, 2026 16:40
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@jsonbailey
jsonbailey merged commit cb4dc49 into main Jul 31, 2026
5 of 6 checks passed
@jsonbailey
jsonbailey deleted the devin/1785429575-fix-maui-android-sdk branch July 31, 2026 14:17
@jsonbailey jsonbailey changed the title ci: install Android API 34 platform before macOS MAUI build chore: install Android API 34 platform before macOS MAUI build Jul 31, 2026
tanderson-ld added a commit to launchdarkly/dotnet-core that referenced this pull request Aug 4, 2026
…d 34 install (SDK-2623) (#326)

## Summary

Reverts the interim \`macos-15\` pin from #302 and addresses the two
underlying issues that made the pin necessary. The client SDK CI moves
back onto \`macos-latest\`.

Two issues break the client SDK CI when the runner lands on macOS 26
(the new \`macos-latest\`):

1. **Xcode 16.2 not present on macOS 26.** \`macos-latest\` began
migrating to macOS 26 on June 15, 2026. That image ships only Xcode
26.x. The client SDK's \`./.github/actions/xcode-select\` step tries to
switch to \`/Applications/Xcode_16.2.app\` and fails immediately.
2. **Android SDK Platform 34 no longer preinstalled on macos-latest.**
The runner-image rolling window aged out API 34; \`net8.0-android\`
builds fail with \`XA5207: Could not find android.jar for API level
34\`.

## Changes

- \`.github/actions/xcode-select/action.yml\`: default \`xcode-version\`
\`16.2\` → \`26.3\`. Xcode 26.3 is present on both \`macos-latest\`
(macOS 26) and \`macos-15\` (fallback) per the current runner-image
manifests.
- \`.github/workflows/sdk-client-ci.yml\`: matrix \`os: [macos-15]\` →
\`[macos-latest]\`; explicit \`xcode-version\` \`'16.2'\` → \`'26.3'\`;
add \`Setup .NET\` + \`Restore workloads\` + \`Install Android SDK
dependencies\` steps before the shared \`./.github/actions/ci\`
composite.
- \`.github/workflows/release-sdk-client.yml\`: same three-step block
added to the \`build\` job; both \`build\` and \`publish\` jobs move
from \`macos-15\` → \`macos-latest\` and bump their explicit
\`xcode-version\` to \`26.3\`. The \`publish\` job doesn't get the
Android install step because it runs \`dotnet pack --no-build\` and
doesn't recompile.

The Android install step follows the same pattern as
launchdarkly/hello-dotnet-client#21, invoking the .NET Android
workload's \`InstallAndroidDependencies\` MSBuild target so the workload
itself declares which platform components it needs. Scoped to the two
client-SDK workflows only — not added to the shared
\`./.github/actions/ci\` composite that other SDKs use, since only the
client SDK builds \`net8.0-android\`.

## Notes

- The \`net8.0-android\` target defaults to API 34 via the .NET 8
Android workload manifest, which Microsoft only ships in the \`8.0.100\`
feature-band (capped at \`34.0.154\`). Moving to API 35+ would require
bumping the SDK's TargetFramework to \`net9.0-android\` — a
customer-facing .NET major bump. Deferred; this PR is the pragmatic
unblock.

## Test plan

- [x] YAML validated locally with \`YAML.load_file\`.
- [ ] Watch \`macos-latest\` CI on this PR to confirm \`xcode-select\`,
workload restore, Android install, and downstream build all succeed.
- [ ] Once merged, confirm subsequent release-please PRs from
server-side SDKs no longer fail on the client-SDK required check.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Changes are limited to GitHub Actions YAML and runner tooling; no
application, auth, or customer-facing SDK code is modified.
> 
> **Overview**
> **Restores client SDK CI and release builds on `macos-latest`** after
the interim `macos-15` pin, by aligning with images that ship **Xcode
26.3** instead of the missing **16.2** app path used by
`./.github/actions/xcode-select`.
> 
> The composite action’s default and workflow pins move
**`xcode-version` from `16.2` to `26.3`**. **`sdk-client-ci`** and
**`release-sdk-client`** (`build` and `publish` jobs) switch runners
from **`macos-15` to `macos-latest`**.
> 
> **`build-and-test` and the release `build` job** gain explicit **.NET
8 setup**, **`global.json` from `global.example.json`**, **`dotnet
workload restore`**, and an **`InstallAndroidDependencies`** MSBuild
step for **`net8.0-android`** so API level 34 is present on runners that
no longer preinstall it. The release **`publish`** job only gets the
runner/Xcode bump (no Android install), since it packs without
rebuilding.
> 
> These Android/.NET prep steps are **not** added to the shared
**`./.github/actions/ci`** composite—only the client SDK workflows that
compile Android.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
bf1656a. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
jsonbailey added a commit to launchdarkly/examples-dotnet that referenced this pull request Aug 4, 2026
Ports launchdarkly/hello-dotnet-client#21: the macOS runner image no longer ships the Android API 34 platform, so add an InstallAndroidDependencies step before the macOS MAUI Android build.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant