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
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
jsonbailey
approved these changes
Jul 31, 2026
3 tasks
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
build-mauijob (macos-latest) has failed every day since 2026-07-05, when the macOS runner image stopped shipping the Android API level 34 platform:Adds the MSBuild-recommended step before the Android build, which installs the missing platform (and accepts licenses) into the runner's existing SDK directory:
The Linux
build-and-runjob 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-mauijob onmacos-latestcaused by the runner image no longer including Android API 34 (XA5207/ missingandroid.jar).Adds an Install Android SDK dependencies step that runs MSBuild
InstallAndroidDependenciesagainstMauiAppfornet8.0-android, pointing at the runner SDK (ANDROID_HOMEor~/Library/Android/sdk) and accepting licenses, before the existing Android build step. The Ubuntubuild-and-runjob is unchanged.Reviewed by Cursor Bugbot for commit 3964373. Bugbot is set up for automated code reviews on this repo. Configure here.