Skip to content

android: BUILD_RUNS_ON, in-job Android SDK, Ruby and Kotlin/Native cache for build jobs - #127

Merged
ssestak merged 2 commits into
mainfrom
feat/android-build-runs-on
Oct 7, 2026
Merged

ssestak merged 2 commits into
mainfrom
feat/android-build-runs-on

Conversation

@ssestak

@ssestak ssestak commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Lets the build job of the remaining Android workflows run on the self-hosted mac runners, mirroring the RUNS_ON set that android-cloud-check got in 2.5.0 (#121) plus the SETUP_RUBY switch from #124.

Workflow New inputs Job affected
android-cloud-nightly-build BUILD_RUNS_ON, SETUP_RUBY, ANDROID_SDK_PACKAGES, KOTLIN_NATIVE_CACHE build only
android-cloud-release-firebaseAppDistribution same build
android-cloud-release-googlePlay same build
kmp-combined-nightly-build ANDROID_BUILD_RUNS_ON, ANDROID_SETUP_RUBY, ANDROID_SDK_PACKAGES, ANDROID_KOTLIN_NATIVE_CACHE android_build only

Changelog, cache-save and Jira jobs stay on ubuntu-latest. All defaults keep today's behaviour for every current caller.

Why

With 2.5.0 only the PR check can be offloaded to the mac runners. Nightly and release builds still run on ubuntu-latest. The SDK / Ruby / Kotlin/Native inputs are forwarded together with the runner label because RUNS_ON: self-hosted alone dies in android-setup-environment on the mac image (setup-ruby EACCES on /Users/runner, no Android SDK).

Not included

android-cloud-generate-baseline-profiles stays on ubuntu-latest. It needs a hardware-accelerated emulator, which the mac runners do not provide today.

Also

CLAUDE.md gains a "Releasing a New Version" section pointing at bump-action-refs.sh / validate-action-refs.sh, which were only documented in the README so far.

Caller example (mac runners)

uses: futuredapp/.github/.github/workflows/android-cloud-nightly-build.yml@2.6.0
with:
  BUILD_RUNS_ON: self-hosted
  SETUP_RUBY: false
  ANDROID_SDK_PACKAGES: "platforms;android-36 build-tools;36.0.0 platform-tools"
  KOTLIN_NATIVE_CACHE: true

Checks

  • actionlint clean on all four workflows

🤖 Generated with Claude Code

https://claude.ai/code/session_015HbhiukLQv71hkruK31fyT

ssestak and others added 2 commits October 7, 2026 16:39
… for build jobs

Lets the build job of android-cloud-nightly-build,
android-cloud-release-firebaseAppDistribution,
android-cloud-release-googlePlay and the Android job of
kmp-combined-nightly-build run on self-hosted runners, mirroring the
RUNS_ON set that android-cloud-check got in 2.5.0.

- BUILD_RUNS_ON (ANDROID_BUILD_RUNS_ON in the KMP workflow) switches only
  the build job; changelog and Jira jobs stay on ubuntu-latest
- SETUP_RUBY, ANDROID_SDK_PACKAGES, KOTLIN_NATIVE_CACHE are forwarded to
  android-setup-environment; needed on the mac runners where setup-ruby
  cannot create its tool cache and the image has no Android SDK

Defaults keep today's behaviour for every current caller.
android-cloud-generate-baseline-profiles is left on ubuntu-latest on
purpose: it needs a hardware-accelerated emulator.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015HbhiukLQv71hkruK31fyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015HbhiukLQv71hkruK31fyT
@ssestak
ssestak merged commit d57bce5 into main Oct 7, 2026
2 checks passed
@ssestak
ssestak deleted the feat/android-build-runs-on branch October 7, 2026 14:54
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.

2 participants