From 01f58f7d803697163f777ec28a2d7d51cdd71bae Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sun, 24 Aug 2025 22:28:49 +0200 Subject: [PATCH 1/3] Fix detecting available nightly verisons in bisect script. The new repo contains only artifacts published after 2025-08-18 --- project/scripts/bisect.scala | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/project/scripts/bisect.scala b/project/scripts/bisect.scala index b4aaa3bcf7f7..29d992bb1ddc 100755 --- a/project/scripts/bisect.scala +++ b/project/scripts/bisect.scala @@ -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) From af34b5db31b30d62f8990fcd27e61cf933c408e6 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sun, 24 Aug 2025 23:29:25 +0200 Subject: [PATCH 2/3] Make bisect aware of nightlies repository --- project/scripts/bisect.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/scripts/bisect.scala b/project/scripts/bisect.scala index 29d992bb1ddc..ff6bcb5e281f 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 ${command} --repository=https://repo.scala-lang.org/artifactory/maven-nightlies/ -S "$$1" --server=false ${args.mkString(" ")} |""".stripMargin ) From 59b3679b88d405501c54c75ee635d9d3901d1b48 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Fri, 5 Sep 2025 22:44:46 +0200 Subject: [PATCH 3/3] Use fixes scala-cli version 1.9.0 to run bisect scripts (the first version to support 3.8 nightlies --- project/scripts/bisect.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/scripts/bisect.scala b/project/scripts/bisect.scala index ff6bcb5e281f..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} --repository=https://repo.scala-lang.org/artifactory/maven-nightlies/ -S "$$1" --server=false ${args.mkString(" ")} + |scala-cli --cli-version=1.9.0 ${command} -S "$$1" --server=false ${args.mkString(" ")} |""".stripMargin )