Scala-dev: Release 2.13.0-M1

Created on 8 Mar 2017  路  23Comments  路  Source: scala/scala-dev

Milestone: https://github.com/scala/scala/milestone/56

Target date: April 1, 2017

Before the release

Prepare for first milestone

Actual release

Run the build

Point of no return

  • [x] Tag scala/scala: git tag -s -m "Scala [version]" v[version] [sha], git push https://github.com/scala/scala.git v[version]
  • [x] Tag scala/scala-dist: git tag -s -m "Scala [version]" v[version] [sha], git push https://github.com/scala/scala-dist.git v[version]
  • [x] Promote staging repos: st_stagingRepoPromote [scala-repo], st_stagingRepoPromote [modules-repo]

Check availability

When everything is on maven central

Release notes

Announcements

Release modules

For binary incompatible releases, release modules that are not built during the scala/scala bootstrap (or ask maintainrs to do so)

Once scalacheck is available

  • [x] Update the hard-coded 2.12 binary version in the scalacheck dependency to [version]

    • Hard-coding the binary version there (instead of using scala.binary.version in versions.properties) allows bumping versions.properties right after a release, without waiting for scalacheck.

    • We can hopefully keep using a fixed binary version during the entire milestone / RC cycle and avoid in-sourcing scalacheck, like we do for our modules. In any case, we only depend on it internally for running the tests.

    • https://github.com/scala/scala/blob/v2.13.0-M1/build.sbt#L45

    • Done: https://github.com/scala/scala/pull/5860

Most helpful comment

Status for Scala.js: https://github.com/scala-js/scala-js/milestone/44
The contents of the v0.6.16 milestone were considerably trimmed down to speed up the release ASAP. All issues have pending PRs now, except https://github.com/scala-js/scala-js/issues/2717, which I'll do tomorrow.

A release can be expected by the end of the week.

All 23 comments

as of just now, the 2.13 community build is green again. (in some cases I have actually fixed failures, other times I have just disabled something partially or completely. whatever enables getting to green without spending too much time on it, this early in the game.)

Excellent!

after some further fixes (specs2, scala-js) and removals, 2.13 community build is green again: https://github.com/scala/community-builds/pull/508

Thank you, Seth!

@lrytz after the 2.12->2.13 merge, bootstrap failed because of fatal warnings in scala-partest. I don't have time to look into it (I need to prioritize 2.12 stuff), but https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-bootstrap/325/artifact/logs/builds/view/ shows the error. the needed fix was already merged at https://github.com/scala/scala-partest/pull/83, but I guess the scala repo is still using whatever was tagged as 1.1.0? (just guessing, I haven't looked at the module bootstrap stuff in a while)

I'm somewhat concerned that you must have completely disabled the community build for Scala.js. Scala.js isn't available for 2.13.x yet, with the upshot that basically none of the ecosystem can be released for 2.13.0-M1, and my worry is that the community build being green is giving a false sense of security.

For previous milestones you did a great job of assembling a list of community projects which supported the milestone ... I think it would be a good idea if you could do that again before advertising 2.13.0-M1 more widely.

you must have completely disabled the community build for Scala.js

Scala.js was successfully built during the release testing (which runs the community build) https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-community-build/345/console.

I guess you know, but just to make sure, we have the list of community projects for 2.13: https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md

I think you're right that for 2.12 milestones / RCs, we typically had a substantial part of the eco-system available before announcing. We should try to make that happen for 2.13 too.

In any case, M1 is all about sorting out this kind of release boostrap questions.

There's no release of Scala.js for 2.13.0-M1 yet, but AFAICT it successfully builds in the context of the community build, and it's not blocking the rest of the community build from running either.

Or did I misjudge what's happening here?

@sjrd maybe I misunderstood. I got the impression that there was quite a lot of work to do to prepare an sjs release for 2.13.0-M1.

@lrytz I had missed the list of community projects. I suspect there won't be a lot of additions to that until there's an sjs release available.

I had missed the list of community projects

(It didn't exist yet at the time the M1 announcement went out, so that's understandable.)

@milessabin There is still some work, but nothing that prevents the part that is run during the community build from building. That we had to fix on the go as breaking PRs got merged in scala/scala, precisely because we don't want to break the community build.

Right now we're blocked ourselves because we need a release of scala-parallel-collections for 2.13.0-M1.

scala-parallel-collections 0.1.2 is now on the way to maven central

Status for Scala.js: https://github.com/scala-js/scala-js/milestone/44
The contents of the v0.6.16 milestone were considerably trimmed down to speed up the release ASAP. All issues have pending PRs now, except https://github.com/scala-js/scala-js/issues/2717, which I'll do tomorrow.

A release can be expected by the end of the week.

Is anyone here blocked by the absense of a scalameta release? We can probably produce a build once scala.js is out, but if we could, we would rather stick to supporting just 2.11.x and 2.12.x. /cc @olafurpg

@xeno-by the only project in the Scala (2.12) community build that depends on scalameta is scalafix. so I wouldn't worry about publishing for 2.13 right now

what might be more worthy of your effort right now, though, would be getting scalameta re-added to the Scala 2.13 community build, since that would only take code changes at your end, not going through publishing nonsense. I opened a ticket here: https://github.com/scala/community-builds/issues/533

The contents of the v0.6.16 milestone were considerably trimmed down to speed up the release ASAP

Thanks! I wonder: in a cross-version build, is it problematic if Scala.js is upgraded to (the trimmed down) 0.6.16 for all Scala versions, or should 2.11 / 2.12 stay on 0.6.15? If so, how can that be done in sbt?

Scala.js is always backward source and binary compatible in minor versions so no it is not problematic to upgrade Scala.js for all Scala versions.

Anyway I don't think there is a way to upgrade it only for one Scala version.

When I say "trimmed down" I mean that a bunch of issues and features that were scheduled for 0.6.16 have been reassigned to 0.6.17. In no event are we publishing a 0.6.16 that would be "less" than 0.6.15, obviously.

Ah, that's the part I misunderstood. Thanks!

Scala.js 0.6.16 is now available on Maven Central, and supports 2.13.0-M1.
It's not really announced yet though (release notes are not written, and stuff like that), but you can start using it to unblock the eco-system.

It's completely {source,binary} {forward,backward} compatible with 0.6.15.

Thanks, Sebastien! Both scala-xml and scala-parser-combinators built successfully with 2.13.0-M1.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

adriaanm picture adriaanm  路  5Comments

retronym picture retronym  路  5Comments

adriaanm picture adriaanm  路  8Comments

adriaanm picture adriaanm  路  3Comments

adriaanm picture adriaanm  路  6Comments