mirror of
https://github.com/actions/setup-java.git
synced 2026-06-18 14:09:41 +00:00
fix: reject non-semver candidate versions in isVersionSatisfies (#1009)
Distributions like JetBrains Runtime publish 4-segment versions such as '17.0.8.1+1080.1' that the semver package rejects. Both compareBuild and satisfies throw on these, which surfaced to users as "Error: Invalid Version: 17.0.8.1+1080.1" and aborted the whole install when any available version was non-semver. Guard with an early semver.valid check so unparseable versions are treated as a non-match. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vendored
+7
@@ -52208,6 +52208,13 @@ function getDownloadArchiveExtension() {
|
||||
exports.getDownloadArchiveExtension = getDownloadArchiveExtension;
|
||||
function isVersionSatisfies(range, version) {
|
||||
var _a;
|
||||
// Some distributions (e.g. JetBrains Runtime) publish 4-segment versions
|
||||
// like '17.0.8.1+1080.1' that semver rejects. If the candidate version
|
||||
// isn't valid semver, it can't match — bail out rather than letting
|
||||
// compareBuild / satisfies throw.
|
||||
if (!semver.valid(version)) {
|
||||
return false;
|
||||
}
|
||||
if (semver.valid(range)) {
|
||||
// if full version with build digit is provided as a range (such as '1.2.3+4')
|
||||
// we should check for exact equal via compareBuild
|
||||
|
||||
Reference in New Issue
Block a user