-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make scripted test run with Scala 2.13 by default #1300
Make scripted test run with Scala 2.13 by default #1300
Conversation
Two test failures revealed by this PR
@dwijnand Would you mind to give it a quick look? Just want to know if these are false positives or not. |
No, they're true positives. But only because as of 2.13.12 we use in-sources compiler bridges (scala/scala#10472) and the fix that is merged here (#1259) has been merged upstream (scala/scala#10542) but hasn't been released yet. |
@dwijnand are you sure we are using the binary bridge? Because IIUC that decision is not done by zinc, but by the build tool (https://github.com/sbt/sbt/blob/v1.9.7/zinc-lm-integration/src/main/scala/sbt/internal/inc/ZincLmUtil.scala#L93-L97). In this case this would mean the scripted testing framework implementation within the zinc repo, no? The two tests may be failing because This might be the reason for Not sure about the |
@@ -118,9 +118,12 @@ class IncHandler(directory: Path, cacheDir: Path, scriptedLog: ManagedLogger, co | |||
|
|||
def initBuildStructure(): Unit = { | |||
val build = initBuild | |||
val defaultScalaVersion = "2.13.12" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be better for defaultScalaVersion
to be stored in sys.props
instead?
e.g.
zinc/internal/compiler-bridge-test/src/test/scala/sbt/internal/inc/CompilingSpecification.scala
Lines 33 to 36 in 3e0ea93
def scalaVersion = | |
sys.props | |
.get("zinc.build.compilerbridge.scalaVersion") | |
.getOrElse(sys.error("zinc.build.compilerbridge.scalaVersion property not found")) |
Then we can conveniently setup CI to run scripted tests against both 2.12 & 2.13 in a clean manner. Despite 2.12 is phasing out, it might be still worthy it to keep 2.12 coverage for the slim chance that some issue only surface in 2.12.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xuwei-k Since you did lots of work on the CI & Testing side, would you mind to give a quick look on this PR? Your opinion would be valuable.
According to https://www.jetbrains.com/lp/devecosystem-2023/scala/ more than 1/3 of users use Scala 2.12. I guess the PR can wait |
Scala 2.13 is significantly more popular than Scala 2.12, hence it would cover more demographics for Zinc Scripted Test to run with 2.13 by default instead of 2.12.
scala/scala has scripted test running at 2.13, but ideally we catch 2.13 specific issue via Zinc CI directly, instead of relying on scala/scala CI.