Provision Java 25 directly in CI

This commit is contained in:
Joe Julian
2026-04-19 20:37:46 -07:00
parent b511ab4dc0
commit c517794182
5 changed files with 29 additions and 17 deletions
+9 -8
View File
@@ -12,10 +12,11 @@ Build the release-signed APK with:
make apk-release
```
`make apk` uses a supported local JDK when `JAVA_HOME` points to Java 21
or Java 25. If the host does not have one of those working JDKs, it falls back
to the repo-managed Docker image in `packaging/docker/android-apk/`, which
builds with Java 25.
`make apk` uses a local Java 25 install when `JAVA_HOME` points to one.
If the host does not have a working Java 25 install, it falls back to the
repo-managed Docker image in `packaging/docker/android-apk/`, which also builds
with Java 25. CI provisions Java 25 directly in the build job so release builds
use that same local path instead of nested Docker.
`make apk` remains a developer build path and may use Gio's default debug or
ephemeral signing behavior if no explicit signing key is provided.
@@ -26,7 +27,7 @@ Environment:
- `ANDROID_SDK_ROOT` defaults to `/opt/android-sdk`.
- `ANDROID_NDK_ROOT` defaults to `/opt/android-ndk`.
- `JAVA_HOME` defaults to `/usr/lib/jvm/java-25-openjdk`. Local builds support Java 25 and CI builds support Java 21.
- `JAVA_HOME` defaults to `/usr/lib/jvm/java-25-openjdk`.
- `APK_BUILD_IMAGE` overrides the Docker image name used by `make apk-container`.
- `APP_ID` overrides the Android application id.
- `APP_VERSION` overrides the version shown inside KeePassGO itself.
@@ -49,7 +50,7 @@ Installed machine prerequisites expected by this repo:
- `android-sdk-build-tools`
- `android-platform-35`
- `android-sdk-platform-tools`
- a working Java 21 or Java 25 JDK install for `make apk-local`, or Docker for `make apk`
- a working Java 25 JDK install for `make apk-local`, or Docker for `make apk`
The repo tracks `gogio` as a Go tool, and the local build runs through:
@@ -67,8 +68,8 @@ The Android build uses the branded icon asset at:
Note:
- KeePassGO's documented Android build uses Java 25 locally, while CI uses Java 21.
- If neither supported host setup is available, `make apk` falls back to the Docker image
- KeePassGO's documented Android build uses Java 25 locally and in CI.
- If that host setup is unavailable, `make apk` falls back to the Docker image
so the build still runs under Java 25 instead of encoding a newer host JDK as
a requirement.
- Android runtime testing on the `KeepassGoAPI35` emulator showed a black-screen