diff --git a/project/scripts/bisect.scala b/project/scripts/bisect.scala
index b4aaa3bcf7f7..083b59a29df9 100755
--- a/project/scripts/bisect.scala
+++ b/project/scripts/bisect.scala
@@ -133,7 +133,7 @@ object ValidationScript:
def tmpScalaCliScript(command: String, args: Seq[String]): File = tmpScript(s"""
|#!/usr/bin/env bash
|export JAVA_HOME=${sys.props("java.home")}
- |scala-cli ${command} -S "$$1" --server=false ${args.mkString(" ")}
+ |scala-cli --cli-version=1.9.0 ${command} -S "$$1" --server=false ${args.mkString(" ")}
|""".stripMargin
)
@@ -177,14 +177,20 @@ class Releases(val releases: Vector[Release])
object Releases:
lazy val allReleases: Vector[Release] =
- val re = raw"(.+-bin-\d{8}-\w{7}-NIGHTLY)".r
- val xml = io.Source.fromURL(
- "https://repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-compiler_3/maven-metadata.xml"
+ Seq(
+ // Until 3.8.0-RC1-bin-20250822-658c8bd-NIGHTLY
+ "https://repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/maven-metadata.xml",
+ // From 3.8.0-RC1-bin-20250818-aaa39c5-NIGHTLY
+ "https://repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-compiler_3/maven-metadata.xml",
)
- re.findAllMatchIn(xml.mkString)
+ .map(io.Source.fromURL(_).mkString)
+ .flatMap: metadataXML =>
+ raw"(.+-bin-\d{8}-\w{7}-NIGHTLY)".r
+ .findAllMatchIn(metadataXML)
.flatMap{ m => Option(m.group(1)).map(Release.apply) }
- .toVector
- .sortBy: release =>
+ .toVector
+ .distinctBy(_.version)
+ .sortBy: release =>
(release.version, release.date)
def fromRange(range: ReleasesRange): Vector[Release] = range.filter(allReleases)