Skip to content
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

Update scala versions #304

Closed
wants to merge 2 commits into from
Closed

Conversation

felixbr
Copy link
Contributor

@felixbr felixbr commented Jun 30, 2022

This is primarily to get away from the release candidate version of Scala 3. I also updated the other Scala versions for general maintenance.

edit: I missed PR #300 which already updates Scala 3 to a non-RC version, my apologies. I'll let you be the judge which PR to accept and will modify/rebase/close mine accordingly.

edit2: I wanted to add CI for Scala 3 as well but scoverage isn't quite there yet and some build adjustments are needed, so this will require a separate PR.

Cheers
~ Felix

@CLAassistant
Copy link

CLAassistant commented Jun 30, 2022

CLA assistant check
All committers have signed the CLA.

@codecov-commenter
Copy link

codecov-commenter commented Jun 30, 2022

Codecov Report

Merging #304 (afcbd9a) into develop (9f15cce) will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #304      +/-   ##
===========================================
+ Coverage    49.29%   49.31%   +0.02%     
===========================================
  Files          322      322              
  Lines        18523    18523              
  Branches      1055     1108      +53     
===========================================
+ Hits          9131     9135       +4     
+ Misses        9392     9388       -4     
Impacted Files Coverage Δ
util-core/src/main/scala/com/twitter/io/Buf.scala 93.27% <0.00%> (ø)
...core/src/main/scala/com/twitter/util/Promise.scala 79.84% <0.00%> (+0.38%) ⬆️
...ore/src/main/scala/com/twitter/util/Duration.scala 85.39% <0.00%> (+0.56%) ⬆️
...in/scala/com/twitter/logging/QueueingHandler.scala 100.00% <0.00%> (+6.25%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9f15cce...afcbd9a. Read the comment docs.

@felixbr felixbr changed the title Update scala versions and add 3.1.3 to CI matrix Update scala versions Jun 30, 2022
@felixbr felixbr force-pushed the update/scala-versions branch 2 times, most recently from 7df8658 to 35daad3 Compare June 30, 2022 20:50
@felixbr
Copy link
Contributor Author

felixbr commented Jun 30, 2022

The failing test seems to be the same flaky one as in the past

@felixbr
Copy link
Contributor Author

felixbr commented Jun 30, 2022

The last commit is a bit off-topic but hopefully it fixes the flaky test which has been bugging me for a while now.


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.

@@ -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).

@felixbr
Copy link
Contributor Author

felixbr commented Jul 15, 2022

Almost everything I'm trying to do here has landed in develop via other commits, so I'm closing this PR and will rebase #305 and #306 onto develop when I have time to do so.

@felixbr felixbr closed this Jul 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants