Skip to content

chore: update Android API levels in workflow matrix#1193

Merged
ttypic merged 1 commit intomainfrom
drop-api-19
Mar 2, 2026
Merged

chore: update Android API levels in workflow matrix#1193
ttypic merged 1 commit intomainfrom
drop-api-19

Conversation

@ttypic
Copy link
Contributor

@ttypic ttypic commented Feb 20, 2026

drop 19, according to Android studio there is 0% of android 19 users

we'll drop android 19 officially in the next minor release and bump minSdk version

Summary by CodeRabbit

  • Chores
    • Updated Android emulator testing matrix to API levels 21, 24, 29, and 35 (replacing 19, 21, 24, 29).
    • Upgraded CI tooling and increased step timeout to improve emulator setup reliability.
    • Added automatic emulator architecture detection (x86/x86_64) and now passes architecture and target to the emulator runner for consistent test execution.
    • Minor workflow formatting cleanups.

@ttypic ttypic requested a review from sacOO7 February 20, 2026 17:04
@coderabbitai
Copy link

coderabbitai bot commented Feb 20, 2026

Walkthrough

GitHub Actions emulator workflow updated: Android API matrix changed to [21, 24, 29, 35]; gradle-setup bumped to v5 with a timeout; new steps compute AVD info and determine/export emulator architecture (x86/x86_64) which is passed to android-emulator-runner with target: default.

Changes

Cohort / File(s) Summary
Workflow file
.github/workflows/emulate.yml
Updated API matrix from [19,21,24,29][21,24,29,35]; upgraded gradle-setup action v3 → v5 and added timeout-minutes: 5; added Get AVD info and get-avd-arch steps to determine/export emulator arch (x86_64 for API ≥ 30, else x86); pass arch (via steps.get-avd-arch.outputs.arch) and target: default to android-emulator-runner; minor KVM section formatting only.

Sequence Diagram(s)

sequenceDiagram
  participant GH as GitHub Actions
  participant Matrix as Matrix (api.level)
  participant Gradle as gradle-setup@v5
  participant AVDInfo as Get AVD info script
  participant ArchEval as get-avd-arch step
  participant Runner as android-emulator-runner

  GH->>Matrix: select API level (21,24,29,35)
  GH->>Gradle: setup Gradle (timeout-minutes: 5)
  GH->>AVDInfo: request AVD details for api.level
  AVDInfo-->>GH: return device name/info
  GH->>ArchEval: evaluate api.level -> export arch (x86/x86_64)
  ArchEval-->>GH: export ARCH
  GH->>Runner: start emulator with arch and target: default
  Runner-->>GH: emulator ready / tests run
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through CI and nudged the tree,

Swapped an old API for thirty-five's glee.
Gradle got spruced, an arch I did find,
Emulators awaken — swift, snug, and kind. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: update Android API levels in workflow matrix' accurately describes the main change in the pull request, which updates the Android API level matrix from [19, 21, 24, 29] to [21, 24, 29, 35], dropping API 19 as intended.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch drop-api-19

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot temporarily deployed to staging/pull/1193/features February 20, 2026 17:04 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/1193/javadoc February 20, 2026 17:07 Inactive
Copy link
Collaborator

@sacOO7 sacOO7 left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/emulate.yml (1)

42-42: 🛠️ Refactor suggestion | 🟠 Major

Remove the now-dead API-19 conditional from the script step.

With API 19 removed from the matrix, matrix.android-api-level == 19 is always false. The expression ${{ matrix.android-api-level == 19 && '-PhttpURLConnection' || '' }} permanently evaluates to '', leaving a no-op placeholder in every gradlew invocation.

♻️ Proposed fix
-          script: ./gradlew :android:connectedAndroidTest ${{ matrix.android-api-level == 19 && '-PhttpURLConnection' || '' }} || (adb logcat -d System.out:I && exit 1)
+          script: ./gradlew :android:connectedAndroidTest || (adb logcat -d System.out:I && exit 1)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/emulate.yml at line 42, The script line currently embeds a
dead conditional `${{ matrix.android-api-level == 19 && '-PhttpURLConnection' ||
'' }}` that always evaluates to an empty string; edit the `script` step so the
`./gradlew :android:connectedAndroidTest` invocation no longer includes that
conditional placeholder (remove the `${{ ... }}` segment) and keep the existing
`|| (adb logcat -d System.out:I && exit 1)` fallback intact so the command
simply runs `./gradlew :android:connectedAndroidTest` with the same
error-handling behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In @.github/workflows/emulate.yml:
- Line 42: The script line currently embeds a dead conditional `${{
matrix.android-api-level == 19 && '-PhttpURLConnection' || '' }}` that always
evaluates to an empty string; edit the `script` step so the `./gradlew
:android:connectedAndroidTest` invocation no longer includes that conditional
placeholder (remove the `${{ ... }}` segment) and keep the existing `|| (adb
logcat -d System.out:I && exit 1)` fallback intact so the command simply runs
`./gradlew :android:connectedAndroidTest` with the same error-handling behavior.

@github-actions github-actions bot temporarily deployed to staging/pull/1193/features March 2, 2026 11:59 Inactive
drop 19, according to Android studio there is 0% of android 19 users
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/emulate.yml:
- Around line 52-55: The conditional referencing matrix.android-api-level == 19
&& '-PhttpURLConnection' is dead code since API 19 was removed; update the
script invocation (the line starting with script: ./gradlew
:android:connectedAndroidTest ...) to remove the conditional and the
'-PhttpURLConnection' branch so it simply runs the connectedAndroidTest command
and preserves the existing failure behavior (e.g., ./gradlew
:android:connectedAndroidTest || (adb logcat -d System.out:I && exit 1)).

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 0b2e81f and 5dbc7ae.

📒 Files selected for processing (1)
  • .github/workflows/emulate.yml

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
.github/workflows/emulate.yml (1)

15-15: ⚠️ Potential issue | 🟡 Minor

Remove unreachable API 19 test flag branch.

Since API 19 is no longer in the matrix (Line [15]), the conditional in Line [49] is dead code and can be simplified.

🧹 Suggested cleanup
-          script: ./gradlew :android:connectedAndroidTest ${{ matrix.android-api-level == 19 && '-PhttpURLConnection' || '' }} || (adb logcat -d System.out:I && exit 1)
+          script: ./gradlew :android:connectedAndroidTest || (adb logcat -d System.out:I && exit 1)

Also applies to: 49-49

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/emulate.yml at line 15, The matrix no longer includes API
19 (the android-api-level entry now lists 21, 24, 29, 35), so remove the dead
conditional branch that checks for API level 19 (the conditional handling
referenced at Line 49) and any specialized steps or flags tied exclusively to
"19"; update any related conditionals or job-steps to rely only on the remaining
android-api-level values so the workflow is simplified and no longer contains
unreachable branches.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.github/workflows/emulate.yml:
- Line 15: The matrix no longer includes API 19 (the android-api-level entry now
lists 21, 24, 29, 35), so remove the dead conditional branch that checks for API
level 19 (the conditional handling referenced at Line 49) and any specialized
steps or flags tied exclusively to "19"; update any related conditionals or
job-steps to rely only on the remaining android-api-level values so the workflow
is simplified and no longer contains unreachable branches.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 5dbc7ae and d155c3b.

📒 Files selected for processing (1)
  • .github/workflows/emulate.yml

@ttypic ttypic merged commit 16f03d1 into main Mar 2, 2026
14 checks passed
@ttypic ttypic deleted the drop-api-19 branch March 2, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants