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 sbt-scala-module to 3.2.0 #273

Merged
merged 2 commits into from
Dec 18, 2024

Conversation

scala-steward
Copy link
Contributor

About this PR

πŸ“¦ Updates org.scala-lang.modules:sbt-scala-module from 3.1.0 to 3.2.0

πŸ“œ GitHub Release Notes - Version Diff

Usage

βœ… Please merge!

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

βš™ Adjust future updates

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "org.scala-lang.modules", artifactId = "sbt-scala-module" } ]

Or, add this to slow down future updates of this dependency:

dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-lang.modules", artifactId = "sbt-scala-module" }
}]
labels: sbt-plugin-update, early-semver-minor, semver-spec-minor, commit-count:1

@SethTisue SethTisue self-assigned this Dec 18, 2024
@SethTisue
Copy link
Member

I know I've seen MiMa failures like these in other repos, but I seem to have forgotten the details

here's one of them, they're about generic signatures:

[error]    * method result()scala.collection.parallel.immutable.HashMapCombiner in class scala.collection.parallel.ParIterableLike#GroupBy has a different generic signature in current version, where it is ()Lscala/collection/parallel/immutable/HashMapCombiner<TK;TU;>; rather than <missing>. See https://github.com/lightbend/mima#incompatiblesignatureproblem
[error]      filter with: ProblemFilters.exclude[IncompatibleSignatureProblem]("scala.collection.parallel.ParIterableLike#GroupBy.result")

I don't know what we changed in sbt-scala-module that would cause this to crop up. Perhaps an sbt-version-policy bump? I would have expected this to crop up during a Scala 3 version bump, rather than only cropping up now, since the root cause appears to be a change in the Scala 3 compiler.

Not sure how to proceed here. We could disable IncompatibleSignatureProblem, roll a release to bake in the change, then re-enable it?

@SethTisue
Copy link
Member

SethTisue commented Dec 18, 2024

ticket-of-record is lightbend-labs/mima#693

but wasn't lightbend-labs/mima#696 supposed to make it so it's okay for a missing generic signature to be filled in?

oh but that PR only covers one direction, but we could be doing bidirectional checking here?

@SethTisue
Copy link
Member

no, the bidirectional hypothesis doesn't apply, we have versionPolicyIntention := Compatibility.BinaryCompatible here currently (not Compatibility.BinaryAndSourceCompatible which is bidirectional)

@SethTisue
Copy link
Member

SethTisue commented Dec 18, 2024

in 0d83ab1 is where we crossed the 3.1.1/3.1.2 boundary

and for a while we had this, but then we removed it, so we've been here once before in this repo:

-import com.typesafe.tools.mima.core._
-ThisBuild / mimaBinaryIssueFilters ++= Seq(
-  ProblemFilters.exclude[IncompatibleSignatureProblem]("*"),
-)

but that doesn't help explain why this is cropping up again now. we have:

sbt:scala-parallel-collections> show versionPolicyPreviousVersions
[info] core / versionPolicyPreviousVersions
[info] 	List(1.0.4)

and aha, 1.0.4 is quite old, it's from 2021

so that explains why we are seeing this now

I guess it's not really necessary to fully understand why we weren't seeing it until we upgraded sbt-scala-module, since the current behavior is correct

@SethTisue
Copy link
Member

SethTisue commented Dec 18, 2024

maybe it's time to roll 1.0.5, to get the correct signatures out there? 1.0.4 was built by Scala 3.0.2, we could argue that we really ought to be shipping something built with a Scala LTS version, because lord knows what other bugs 3.0.2 had

the only code change since 1.0.4 that looks like an actual bugfix is #205, which has been awaiting release since 2021 πŸ™€

@SethTisue
Copy link
Member

I think I've talked myself into suppressing, releasing, un-suppressing. embarking on that now

@SethTisue SethTisue force-pushed the update/sbt-scala-module-3.2.0 branch from 27627a5 to 72a05fe Compare December 18, 2024 01:43
@SethTisue SethTisue merged commit 55177af into scala:main Dec 18, 2024
10 checks passed
@SethTisue
Copy link
Member

as per #280, the release will be 1.1.0, not 1.0.5

I had to update all of the publishing secrets, of course

@SethTisue
Copy link
Member

I thought I knew, from painful firsthand experience, every way that Sonatype publishing could possibly go wrong, but this was new one: there seems to have been a transient outage on pgp.mit.edu. Anyway, it did work eventually. log: https://github.com/scala/scala-parallel-collections/actions/runs/12385019786/job/34571074461

@SethTisue
Copy link
Member

@SethTisue
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants