Temurin .tool-versions specifier not parsed
Description:
A .tool-versions file with a valid Temurin version specifier is parsed as having a null version.
Given the following .tool-versions:
java temurin-21.0.5+11.0.LTS
I can install Java locally with asdf:
asdf plugin-add java https://github.com/halcyon/asdf-java.git
asdf install java
(The list of valid versions is given by asdf list-all java.)
But with the following action configuration:
- uses: actions/[email protected]
with:
distribution: "temurin"
java-version-file: ".tool-versions"
The action fails to parse the version.
Relevant debug log:
##[debug]java-version input is empty, looking for java-version-file input
##[debug]Parsed version from file 'null'
Error: No supported version was found in file .tool-versions
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Set up Java
This happens because the version regex does not accept the trailing .0.LTS. In other words, a .tool-versions content of java temurin-21.0.5+11 would pass the regex, but would not be a version known to the asdf plugin.
Task version:
v4.6.0.
Platform:
- [x] Ubuntu
- [ ] macOS
- [ ] Windows
Runner type:
- [ ] Hosted
- [x] Self-hosted
Repro steps:
Create .tool-versions file at repository root with contents:
java temurin-21.0.5+11.0.LTS
Use action configuration:
- uses: actions/[email protected]
with:
distribution: "temurin"
java-version-file: ".tool-versions"
Expected behavior:
The action should install Temurin JDK 21.0.5+11.0.LTS.
Actual behavior:
The action does not parse the version.
Hello @alexpearce, Thank you for creating this issue and we will look into it :)
Just got the exact same problem, with adoptopenjdk.
My .tool-versions looks like this:
maven 3.9.9
java adoptopenjdk-21.0.6+7.0.LTS