Temurin/Adoptium
| source | condition | target |
|---|---|---|
✔ | ✔ | ✗ |
Description
The temurin resource queries the Adoptium API for Eclipse Temurin JDK and JRE releases.
- source
Returns one attribute of the matching release (its version name, or a URL to the installer, checksum or signature, depending on
result).- condition
Verifies that a release exists, optionally across a set of platforms.
- target
Not supported - a target fails with
Target not supported for resource of kind 'temurin'.
Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| architecture | string | “architecture” defines the CPU architecture used to filter the Temurin releases. compatible:
default: x64 remark:
example:
| |
| featureversion | integer | “featureversion” defines the major Java version used to filter the Temurin releases. compatible:
default: the most recent release of the “releaseline”. remark:
example:
| |
| imagetype | string | “imagetype” defines the type of artifact used to filter the Temurin releases. compatible:
default: jdk remark:
example:
| |
| operatingsystem | string | “operatingsystem” defines the operating system used to filter the Temurin releases. compatible:
default: linux remark:
example:
| |
| platforms | array | “platforms” defines a list of platforms used to filter the Temurin releases. compatible:
default: empty, so no filtering per platform. remark:
example:
| |
| project | string | “project” defines the project used to filter the Temurin releases. compatible:
default: jdk remark:
example:
| |
| releaseline | string | “releaseline” defines the line of Temurin release to retrieve. compatible:
default: lts remark:
example:
| |
| releasetype | string | “releasetype” defines the type of Temurin release to retrieve. compatible:
default: ga remark:
example:
| |
| result | string | “result” defines the type of value returned from the retrieved Temurin release. compatible:
default: version remark:
example:
| |
| specificversion | string | “specificversion” defines the exact Temurin version used to filter the Temurin releases. compatible:
default: empty remark:
example:
|
Every field has a default, so an empty spec is valid and resolves to the latest LTS GA JDK for linux/x64.
| Field | Default | Notes |
|---|---|---|
|
|
|
|
|
|
| latest | The major Java version - 8, 11, 17, 21… |
| unset | An exact version, a JDK version, or a Temurin release name. Takes precedence over |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
platforms is condition-only. It takes <os>/<architecture> pairs and passes only when a release exists for all of them, the check to run before publishing something that claims multi-platform support:
conditions:
available:
kind: temurin
spec:
featureversion: 21
platforms:
- linux/x64
- linux/aarch64
- alpine-linux/x64
- windows/x64Fallback when a new major is announced
Adoptium advertises the most recent feature release before its GA builds are indexed. Asked for the latest, Updatecli would then find nothing.
Instead it collects the candidate feature versions, tries the most recent first, and walks down to the next one whenever a version errors or returns no releases. The choice is only visible with --debug:
[temurin] no releases found for feature version 26, trying fallback
[temurin] using fallback feature version 25So a source asking for the latest LTS keeps returning a usable version across the announcement window, rather than failing for a few days. Pin featureversion when you need a specific major regardless.
Example
# updatecli.yaml
sources:
## Returns the latest LTS version
getLatestLtsVersion:
kind: temurin
## Returns the latest feature release
getLatestFeatureVersion:
kind: temurin
spec:
releaseline: feature
## Returns the latest LTS "nightly build" (Early Availability) version
getLatestLtsEarlyAvailabilityVersion:
kind: temurin
spec:
releaseline: lts
releasetype: ea
## Returns the latest "Valhalla" Project JDK 17 version available for Windows
getLatestWindowsValhalla17Version:
kind: temurin
spec:
featureversion: 17
project: valhalla
operatingsystem: windows
# Returns the latest installer URL for Linux x64
getLatestLTSLinuxAMD64InstallerURL:
kind: temurin
spec:
result: installer_url
## Returns the latest LTS Installer's checksum URL for s390x Alpine Linux JRE
getLatestJRE17LinuxS390xChecksumUrl:
kind: temurin
spec:
operatingsystem: alpine-linux
architecture: s390x
imagetype: jre
result: checksum_url
## Returns latest Installer's Signature URL of the Windows JDK version "17.0.2*"
getLatestCustomVersionWindowsSignatureUrl:
kind: temurin
spec:
version: "17.0.2"
operatingsystem: windows
result: signature_url
conditions:
checkLatestTemurin:
name: Temurin Check
kind: temurin
disablesourceinput: true
checkLatestTemurinGA17LinuxArm64:
name: Temurin Check
kind: temurin
disablesourceinput: true
spec:
releaseline: feature
releasetype: ga
featureversion: 17
architecture: aarch64
operatingsystem: linux
checkFromSpecifiedVersion:
name: Temurin Check
kind: temurin
disablesourceinput: true
spec:
specificversion: '{{ source "getLastGA17Version" }}'
checkListOfPlatforms:
name: Temurin Check
kind: temurin
disablesourceinput: true
spec:
specificversion: 17.0.13+11 # Known to provide all existing platform specified below
platforms:
- linux/x64
- linux/aarch64
- linux/s390x
- alpine-linux/x64
- windows/x64
checkPlatformForSourceInput:
name: Temurin Check
kind: temurin
sourceid: getLatestLtsVersion
spec:
platforms:
- linux/x64
- linux/aarch64
Links
Adoptium API reference - the authoritative list of accepted architectures and operating systems