docs(PL-391): add guide for installing extra JDK versions on self-hosted runners - #38
docs(PL-391): add guide for installing extra JDK versions on self-hosted runners#38arcappcircle wants to merge 1 commit into
Conversation
…ted runners Document how a customer installs a JDK that is not preinstalled on a self-hosted Linux runner, using Java 18 as the worked example: install via SDKMAN (including the local-candidate path for versions dropped from the catalog), declare JAVA_HOME_<major>_X64 in the runner systemd unit, reload systemd, and select the JDK from a workflow with a Custom Script step. Covers Docker-based runners, where the mechanism is identical because systemd runs inside the container, and where container recreation is the only thing that loses the JDK. Link the new page from the Android build stacks Java Version section and from the Configure Runner index. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
appcircle-docs | 93fe7c0 | Commit Preview URL Branch Preview URL |
Aug 27 2026, 03:25 PM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
appcircle-docs | 93fe7c0 | Commit Preview URL Branch Preview URL |
Aug 27 2026, 03:25 PM |
Summary
Adds a customer-facing guide for installing a JDK version that is not preinstalled on a self-hosted Linux runner, using Java 18 as the worked example.
Context is PL-391. The issue originally asked to preinstall Java 18 on the runner image; the outcome of the discussion there is that we do not ship non-LTS / EOL tooling on runner images, and a customer needing one performs the install on their own self-hosted runner. This page is the procedure that makes that answer actionable. It is the public counterpart to the internal LTS/EOL policy in ac-doc-internal#203.
Changes
self-hosted-appcircle/self-hosted-runner/configure-runner/custom-jdk-versions.md:JAVA_HOME_<major>_X64in/etc/systemd/system/io.appcircle.runner.service. Adding the export to~/.bashrcalone does not work, because the generatedstartup.shdoes not source it at runtime, and the unit template only covers 8, 11, 17 and 21.systemctl daemon-reloadbefore restarting, sinceac-runner service -c restartonly stops and starts the service.docker exec,HOMEis always/root, and container recreation is the one lifecycle event that loses the JDK). Also states explicitly thatdocker run -e,--env-file, Composeenvironment:and DockerfileENVdo not reach the runner.infrastructure/android-build-infrastructure.md, in the## Java Versionsection right after the Select Java Version sentence, via theContentRefcomponent already imported on that page.index.mdfor discoverability.Review notes
zulu18.32.13-ca-jdk18.0.2.1-linux_x64archive name in Step 2 against Azul's current download page. The build string comes from the PL-391 discussion, not from a verified download.docker runexample are illustrative. We do not publish a runner image, so there is no canonical mount layout to match.🤖 Generated with Claude Code
Created on behalf of ilhan@appcircle.io via Arc.