From fca9686977320178dbba8b2c96cbafa71a27b5f9 Mon Sep 17 00:00:00 2001 From: skalthoff <32023561+skalthoff@users.noreply.github.com> Date: Wed, 10 Dec 2025 20:58:37 -0800 Subject: [PATCH] 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> --- .github/workflows/maestro-test.yml | 59 +++++++++++++++++++----------- 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/.github/workflows/maestro-test.yml b/.github/workflows/maestro-test.yml index 1bb7bdbf..eb7d4a57 100644 --- a/.github/workflows/maestro-test.yml +++ b/.github/workflows/maestro-test.yml @@ -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"