Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
scala: [2.12.12, 2.13.6]
scala: [2.12.15, 2.13.6]
java: ['1.8', '1.11']
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 4 additions & 2 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,18 @@ def jdk11GcJavaOptions: Seq[String] = {
)
}

// Upgrading to a later version requires also upgrading sbt-scoverage, Scalatest, and
// some modules like util-mock and util-test.
val _scalaVersion = "2.13.6"
val _crossScalaVersions = Seq("2.12.12", "2.13.6")
val _crossScalaVersions = Seq("2.12.15", "2.13.6")

val defaultScalaSettings = Seq(
scalaVersion := _scalaVersion,
crossScalaVersions := _crossScalaVersions
)
val defaultScala3EnabledSettings = Seq(
scalaVersion := _scalaVersion,
crossScalaVersions := _crossScalaVersions ++ Seq("3.0.2-RC1")
crossScalaVersions := _crossScalaVersions ++ Seq("3.1.3")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a merge conflict because a PR was merged that changed this to 3.0.2 - building with 3.0.2 is better imho because classes will work with Scala 3.0.x and 3.1.x. If you compile with 3.1.3, then the classes will not work with Scala 3.0.x runtime.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure about that? I thought binary compatibility was finally solved by the Tasty mechanism.

The libraries published to Maven also don't specify anything beyond "_3" as the version suffix.

If there is really still a problem I don't mind building with 3.0.x for the moment, though.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I see. That's unfortunate.

I will rework/close my PRs as soon as I find the time.

)

// Our dependencies or compiler options may differ for both Scala 2 and 3. We branch here
Expand Down
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ resolvers += Classpaths.sbtPluginReleases
resolvers += Resolver.sonatypeRepo("snapshots")

addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.4.1")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.1")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sbt-scoverage 2.0.0 is now out and upgrade seems to be smooth (from my experience with other projects)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried that first but ran into all sorts of problems, so I changed the PR to be more conservative. My main goal here is using a recent Scala 3 version.

I only update Scala 2.x versions until it became painful to go further (e.g. 2.12.16 and 2.13.8 both caused issues).

addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3")
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.31")
3 changes: 2 additions & 1 deletion util-app/src/test/scala/com/twitter/app/AppTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ class WeNeverCloseButWeDoNotCare extends WeNeverClose {
}

trait ErrorOnExitApp extends App {
override val defaultCloseGracePeriod: Duration = 5.seconds
// Prevent flaky test in CI due to TimeoutException with this generous timeout
override val defaultCloseGracePeriod: Duration = 30.seconds

override def exitOnError(throwable: Throwable): Unit = {
throw throwable
Expand Down