ci: Migrate Maestro CI to Ubuntu, remove Ruby setup, add JDK/Gradle, and optimize emulator resources. (#803)

Co-authored-by: Violet Caulfield <42452695+anultravioletaurora@users.noreply.github.com>
This commit is contained in:
skalthoff
2025-12-10 20:58:37 -08:00
committed by GitHub
parent c623338374
commit fca9686977

View File

@@ -11,7 +11,7 @@ concurrency:
jobs:
build-android:
runs-on: macos-15
runs-on: ubuntu-latest
outputs:
version: ${{ steps.setver.outputs.version }}
steps:
@@ -23,24 +23,23 @@ jobs:
with:
bun-version: 1.3.4
- name: 💎 Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true
- uses: actions/cache@v4
with:
path: |
node_modules
~/.gradle/caches
~/.gradle/wrapper
~/.cache/turbo
android/.gradle
android/app/build
key: ${{ runner.os }}-gradle-turbo-${{ hashFiles('**/bun.lock', '**/build.gradle') }}
key: ${{ runner.os }}-bun-turbo-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-gradle-turbo-
${{ runner.os }}-bun-turbo-
- name: ☕ Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: 🐘 Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: 🍎 Run bun init-android
run: bun i
@@ -70,6 +69,17 @@ jobs:
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: 🛒 Checkout
uses: actions/checkout@v6
@@ -78,6 +88,15 @@ jobs:
with:
bun-version: 1.3.4
- uses: actions/cache@v3
with:
path: |
node_modules
~/.cache/turbo
key: ${{ runner.os }}-bun-turbo-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-turbo-
- name: Installing Maestro
shell: bash
run: export MAESTRO_VERSION=1.40.0; curl -Ls "https://get.maestro.mobile.dev" | bash
@@ -93,10 +112,6 @@ jobs:
with:
name: android-artifacts
path: artifacts/
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4' # Not needed with a .ruby-version, .tool-versions or mise.toml
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Enable KVM group perms
shell: bash
@@ -113,11 +128,11 @@ jobs:
target: google_apis
arch: x86_64
profile: Nexus 6
ram-size: '8192M'
heap-size: '4096M'
disk-size: '10G'
cores: '4'
disable-animations: false
ram-size: '3072M'
heap-size: '1024M'
disk-size: '4G'
cores: '3'
disable-animations: true
avd-name: e2e_emulator
script: bash scripts/maestro-android-retry.sh "https://jellyfin.jellify.app" "jerry"