From aba6b0a37e0d95afa0647ce6e9a9d1a6aed6c90f Mon Sep 17 00:00:00 2001 From: wtclaude Date: Sun, 19 Jul 2026 13:10:30 -0500 Subject: [PATCH] ci(android): install JDK 17 + SDK packages via apt/sdkmanager The self-hosted runner can't resolve api.adoptium.net, so actions/setup-java@v4 (temurin) fails with EAI_AGAIN at "Set up JDK 17". The Ubuntu mirrors and dl.google.com are reachable, so: - Drop actions/setup-java; install openjdk-17-jdk-headless in the base-tools step and export JAVA_HOME. - Add an explicit sdkmanager step installing platform-tools + platforms;android-35 + build-tools;35.0.0 so the build never relies on AGP's build-time auto-download. Co-Authored-By: Claude --- .gitea/workflows/pr-checks.yml | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/pr-checks.yml b/.gitea/workflows/pr-checks.yml index bdb2815..e139d5e 100644 --- a/.gitea/workflows/pr-checks.yml +++ b/.gitea/workflows/pr-checks.yml @@ -8,10 +8,13 @@ # * Enable Status Check # * Status check patterns: PR Checks / * # -# Runner: the org's self-hosted `ubuntu-latest`, on a bare `ubuntu:latest` -# container that lacks git/curl/unzip (needed by checkout + sdkmanager) -- so the -# first step installs them. (Faster later: switch to a prebuilt Android-SDK -# container image so nothing installs per-run.) +# Runner: the org's self-hosted `ubuntu-latest`. The container lacks +# git/curl/unzip (needed by checkout + sdkmanager), so the first step installs +# them. It also installs JDK 17 from the Ubuntu archive rather than using +# actions/setup-java, because this runner can't resolve api.adoptium.net (that +# download fails with EAI_AGAIN) while the Ubuntu mirrors are reachable. +# (Faster later: switch to a prebuilt Android-SDK+JDK container image so nothing +# installs per-run.) name: PR Checks @@ -27,23 +30,24 @@ jobs: android-build: runs-on: ubuntu-latest steps: - # Bare ubuntu:latest is missing the tools checkout + the SDK installer need. - - name: Install base tools + # Install the tools checkout + the SDK installer need, plus JDK 17 (see the + # header note on why we avoid actions/setup-java on this runner). + - name: Install base tools + JDK 17 run: | apt-get update - apt-get install -y git curl unzip + apt-get install -y git curl unzip openjdk-17-jdk-headless + echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> "$GITHUB_ENV" - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: "17" - - name: Set up Android SDK uses: android-actions/setup-android@v3 + # Install exactly what the build targets so it never depends on AGP's + # build-time auto-download. `yes |` accepts any license prompts. + - name: Install Android SDK packages + run: yes | sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" + - name: Cache Gradle uses: actions/cache@v4 with: