Closed larsrh closed 4 years ago
Same issue here typelevel/cats-testkit-scalatest#48.
And another one typelevel/cats-effect#796
I would omit the word "Possibly" in the description. :-)
I just ran into this myself and out of curiosity I browsed the sjsir files in the cats-core_sjs1 jar.
Somehow /cats/syntax/package$hash$.sjsir
contains the version string 0.6.29 whereas most other files contain 1.0.
A 2.1.1 release would be great. I'm currently blocked on releasing Laika with Scala.js support, and I'm probably not the only one.
Oh, ouch, I ran this release and this is probably my fault. The tests were definitely passing. Has anyone tried publishing Cats locally for Scala.js 1.0.0 and using in these projects to make sure it's just an issue with the release?
I'd really like to get a Cats 2.2.0-M1 published this week and my inclination would be to wait for that, since then on the off-chance that there are ongoing issues we can iterate more quickly without forcing the 97% of Cats users who don't care about Scala.js to bump patch versions.
Also a lot of the ecosystem is still blocked on Shapeless, so while it would be nice to have working artifacts out there for Scala.js 1.0, I personally don't think it's worth triggering thousands of updates for JVM-only users by publishing 2.1.1 yet.
You make a good point, although I don't think the cost of a patch release is high. Contrastingly, the cost of all the broken scala-steward PRs is quite high.
Okay, let me make sure I can publish a working Scala.js 1.0.0 release and I'll get 2.1.1 lined up.
I just tested a local publish with current master and I progressed from the error about invalid sjsir files to linkage errors (which are pretty certain on my side as I am just about to add Scala.js support for the first time, so I expected some issues anyway)
What do you think about skipping 2.1.1 and doing a quick turn-around 2.2.0 this week? We can merge #3279 and #3316 pretty easily, publish a 2.2.0-RC1 tomorrow, and then do 2.2.0 on Thursday or Friday, both with Scala.js 0.6 and 1.0 support.
FYI as it might affect your planning, Scala.js 1.0 will be officially announced tomorrow.
I think if it's just a delay for this week it might be perfectly reasonable (at least from my side). I would have expected the 2.2 cycle would have been longer and that probably would have been an issue for some.
But I have no idea how much noise the broken release might create for you in the meantime. :-) You might want to at least add a note to your Scala Contributors announcement in that case, so that people are aware.
@jenshalm We haven't publicized the Scala.js 1.0.0 artifacts anywhere except for this list, and I've flagged this issue there.
Ah, sorry, didn't see your comment on the list yet (I am following via email notifications). Sounds all good to me then.
Just staged a completely fresh release and added the staging resolver to Paiges and cats-testkit-scalatest and both are passing tests (+js/checkCI
and +coreJS/test
respectively), so I think we're okay to go when we decide what version we want to release.
/cc @kailuowang @djspiewak @LukaJCB @larsrh @fthomas @tpolecat @mpilquist
I seem to have messed up the Cats 2.1.0 release for Scala.js 1.0.0 last week (see the issue above for details; I think I didn't do a full clean before publishing). I've confirmed that I can publish it in such a way that it works now. The Scala.js 1.0.0 release announcement is tomorrow, and it'd be nice if we had a working Cats release ready to go with it. We have two choices:
I'm inclined to do the first and not rush 2.2.0. Any objections?
All things considered I'm in favour of 2.1.1.
I'm inclined to do the first and not rush 2.2.0. Any objections?
Nope, this seems good to me. Thanks!
Okay, I just staged a normal 2.1.1 release from a0a440fcf7cecdf16c9f18de49e2514c8dd28eae on the 2.1.x
branch with java -version
:
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
With the usual:
sbt +clean
sbt +package
sbt release
Then ran the following commands to stage the Scala.js 1.0.0 artifacts—probably overkill on the cleaning but I have no idea why it got messed up last time so I'm being careful:
echo 'version in ThisBuild := "2.1.1"' > version.sbt
sbt +clean
SCALAJS_VERSION=1.0.0 sbt +clean
SCALAJS_VERSION=1.0.0 sbt +validateJS
SCALAJS_VERSION=1.0.0 sbt +clean
SCALAJS_VERSION=1.0.0 sbt +package
bash scripts/scala.js-1.0-publish.sh
I haven't promoted the release yet, because I wanted to try it out in staging, so I added this to some of the failing PRs above and updated them to 2.1.1.
resolvers += (
"staging" at "https://oss.sonatype.org/service/local/repositories/orgtypelevel-1587/content/"
)
They're all passing tests now:
I'll promote the artifacts in the next hour or two.
Also a lot of the ecosystem is still blocked on Shapeless
Not for too much longer: https://github.com/milessabin/shapeless/pull/967.
I need to find time to back publish.
Also tested the staged artefacts, they work well for me, all 1,600+ tests green. :-)
@jenshalm Thanks! The release is out now, so you can properly update. :smile:
Perfect timing. Thanks a lot for the quick fix!
Seems like everything's fine, closing this. Thanks for catching it, @larsrh.
See typelevel/paiges#243.
My suspicion is that a new Scala.js version requires a clean build, which may not have happened.
Mitigation is probably a 2.1.1 release, because Sonatype won't let you change released artifacts.