Skip to content

Temurin .tool-versions specifier not parsed #719

@alexpearce

Description

@alexpearce

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/setup-java@v4.6.0
    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:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • 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/setup-java@v4.6.0
        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.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions