Skip to content

Temurin .tool-versions specifier not parsed #719

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

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions