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: