Skip to content

Release 1.15.0 #668

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

Closed
ashawley opened this issue Jun 4, 2020 · 29 comments
Closed

Release 1.15.0 #668

ashawley opened this issue Jun 4, 2020 · 29 comments
Milestone

Comments

@ashawley
Copy link
Contributor

ashawley commented Jun 4, 2020

In #667, @smarter said:

@non @ashawley once this is in, what do you think about releasing 1.15.0? According to #540 it was supposed to come shortly after 1.14.1. It'd be great to get it out for the improved dotty usability from finally getting rid of the ambiguous implicit error due to BooleanOperators.

@ashawley
Copy link
Contributor Author

ashawley commented Jun 4, 2020

I agree we should release 1.15.0.

I've worked on applying the 1.15.0 label to open issues, so we can track progress and the remaining effort:

https://github.com/typelevel/scalacheck/milestone/10

@smarter
Copy link
Contributor

smarter commented Jul 31, 2020

How critical are the remaining issues in the 1.15.0 milestone? Could some of them be moved to a future milestone to release 1.15.0 faster ?

@larsrh
Copy link
Contributor

larsrh commented Aug 1, 2020

Would be much appreciated. Happy to volunteer the time to upgrade the Typelevel ecosystem.

@SethTisue
Copy link
Member

@ashawley are you around and interested in helping push this forward? (fsvo "helping")

@ashawley
Copy link
Contributor Author

I should have free time soon to contribute to getting a release out here. Sorry for the delay.

@SethTisue
Copy link
Member

note that one possibility would be to just close our eyes, roll whatever we have and call it 1.15.0-M1 (or 1.15.0-RC1), and then work towards 1.15.0 final after

thought prompted because I just hit "ambiguous implicit error due to BooleanOperators" myself today over at scala/scala-parallel-collections#113, so now I know what y'all are talking about there :-)

@non
Copy link
Contributor

non commented Oct 10, 2020

@SethTisue i'll do that this weekend

@non
Copy link
Contributor

non commented Oct 11, 2020

@SethTisue So, the Dotty build is blocking the release. Specifically, it appears it didn't build javadoc jars, which Sonatype checks for when validating the release. Here the publish output from Dotty:

[info]  published scalacheck_0.24 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_0.24/1.15.0-M1/scalacheck_0.24-1.15.0-M1.pom.asc
[info]  published scalacheck_0.24 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_0.24/1.15.0-M1/scalacheck_0.24-1.15.0-M1-sources.jar.asc
[info]  published scalacheck_0.24 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_0.24/1.15.0-M1/scalacheck_0.24-1.15.0-M1.jar
[info]  published scalacheck_0.24 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_0.24/1.15.0-M1/scalacheck_0.24-1.15.0-M1.pom
[info]  published scalacheck_0.24 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_0.24/1.15.0-M1/scalacheck_0.24-1.15.0-M1.jar.asc
[info]  published scalacheck_0.24 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_0.24/1.15.0-M1/scalacheck_0.24-1.15.0-M1-sources.jar 

And here's Scala 2.12 (JVM):

[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1-javadoc.jar.asc                                                          
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1.pom.asc                                                                  
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1-sources.jar.asc                                                          
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1.jar                                                                      
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1.pom                                                                      
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1-javadoc.jar                                                              
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1.jar.asc                                                                  
[info]  published scalacheck_2.12 to https://oss.sonatype.org/service/local/staging/deploy/maven2/org/scalacheck/scalacheck_2.12/1.15.0-M1/scalacheck_2.12-1.15.0-M1-sources.jar

As you can see Dotty only published 6 files while 2.12 published 8.

I don't know a lot about how Dotty publishes. Is this expected? Is there some other SBT command I need to run for Dotty?

EDIT: I ran release.sh publishSigned which runs IS_RELEASE="true" sbt "+ jvm/publishSigned" (among other commands).

@smarter
Copy link
Contributor

smarter commented Oct 11, 2020

This comes from your sbt build:

scalacheck/build.sbt

Lines 170 to 174 in b296397

publishArtifact in (Compile, packageDoc) := {
// dotty-doc defect https://github.com/lampepfl/dotty/issues/7326
!isDotty.value // ==> true
// else ==> false
},

The usual workaround to keep sonatype happy is to still publish a doc jar but leave it empty, this is accomplished by having in your sbt build:

sources in (Compile, doc) := Seq()

except here you only want to do it for dotty so you probably want:

sources in (Compile, doc) := {
  if (isDotty.value) then Seq() else (sources in (Compile, doc)).value
}

@non
Copy link
Contributor

non commented Oct 11, 2020

@smarter Thanks!

@smarter
Copy link
Contributor

smarter commented Oct 11, 2020

You could also turn off the dotty build for now: the scalacheck build is at version 0.24.0-RC1 so it's way too old to be useful currently anyway. You could try bumping it to 0.27.0-RC1 but that might require porting some commits from the version of scalacheck in our community build: https://github.com/dotty-staging/scalacheck/commits/a715860a25ad6d2c6e1ae17e8baa13ded427cdf0

@non
Copy link
Contributor

non commented Oct 11, 2020

@smarter I'll try with what I have since it's currently on and already running. If this build fails, I'll turn it off for now and we can revisit.

@non
Copy link
Contributor

non commented Oct 11, 2020

OK yeah the SBT snippet didn't totally work so I released without Dotty. We can try to fix this before the real 1.15.0 release.

@non
Copy link
Contributor

non commented Oct 11, 2020

Anyway, just released 1.15.0-M1.

@larsrh larsrh mentioned this issue Oct 12, 2020
@larsrh
Copy link
Contributor

larsrh commented Oct 12, 2020

I released a 0.27 artifact based on #684, which isn't yet merged, but since we're talking about a milestone release, I don't think that's problematic.

@SethTisue
Copy link
Member

thanks Erik, thanks Lars! the 0.27 artifact is working great for me over in scala-parallel-collections 👍

@non
Copy link
Contributor

non commented Oct 12, 2020

Do you all feel like we should go ahead and release 1.15.0? I'm also up for doing an M2 if folks would rather be cautious.

@SethTisue
Copy link
Member

(no opinion)

@larsrh
Copy link
Contributor

larsrh commented Oct 13, 2020

There's a few open PRs tagged with 1.15.0. I suggest to go through with them and then follow up with RC1.

@non
Copy link
Contributor

non commented Oct 13, 2020

@larsrh Sounds good. I'm fine with merging both as-is or making changes. Would appreciate at least one more set of eyes.

@larsrh
Copy link
Contributor

larsrh commented Oct 24, 2020

Are we ready for RC1? @SethTisue, @non?

@larsrh
Copy link
Contributor

larsrh commented Oct 26, 2020

RC1 is out, final will follow next week if no issues are found.

@larsrh larsrh closed this as completed Oct 26, 2020
@SethTisue
Copy link
Member

okay if we keep this open until actual 1.15.0 is out?

@SethTisue SethTisue reopened this Oct 26, 2020
@larsrh
Copy link
Contributor

larsrh commented Oct 26, 2020

I took the liberty of filling in the gaps in the changelog.

@larsrh
Copy link
Contributor

larsrh commented Oct 27, 2020

Release plan

Since Scalacheck doesn't use macros, many library authors that depend on Scalacheck used withDottyCompat. Now that we have a proper release, we need to get those out of the way, otherwise sbt complains about conflicting artifact qualifiers (_0.27 vs. _2.13).

@larsrh larsrh added this to the 1.15.0 milestone Oct 27, 2020
@larsrh larsrh closed this as completed Oct 31, 2020
@SethTisue
Copy link
Member

Added to release notes:

This release was brought to you by 16 contributors, according to git shortlog -sn --no-merges 1.14.3..1.15.0. Thank you Scala Steward, Aaron S. Hawley, Erik Osheim, Lars Hupel, Dolan Murvihill, Alexey Kotlyarov, Zak, Seth Tisue, Taro L. Saito, Neville Li, P. Oscar Boykin, Guillaume Martres, Sean C. Sullivan, Fred Roth, Jonas Kölker, NthPortal.

@SethTisue
Copy link
Member

@larsrh may I suggest that Typelevel tweet about this? possible tweet text:

ScalaCheck 1.15.0 is out! 👏🙏 to @aaron_s_hawley @D6 @larsr_h @rickynils and everyone else who contributed https://github.com/typelevel/scalacheck/releases/tag/1.15.0

@SethTisue
Copy link
Member

if you omit yourself out of modesty I will be VERY ANGRY

@larsrh
Copy link
Contributor

larsrh commented Oct 31, 2020

I did not, but I did include you 😉

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

No branches or pull requests

5 participants