Closed
Description
Milestone: https://github.com/scala/scala/milestone/56
Target date: April 1, 2017
Before the release
- Notify community on https://contributors.scala-lang.org/c/announcements
- Create next milestone, move the "Merge to 2.13.x" description to it (default for new PRs)
- Close the milestone
- Check the osgi test logs: check osgi test log in 2.13 boostrap #351
- Start drafting release notes
- Triage scala/bug and scala-dev tickets that target [version]
- Check PRs assigned to the milestone, also check WIP
Prepare for first milestone
- Add parallel collections to community build (add parallel collections module to 2.13 build and fix key projects to use it community-build#495)
- Check module versioning, currently hard-coded to 2.12
- Merge 2.12.x to 2.13.x
Actual release
- Announce start of release process
- Close the scala/bug milestone, create next, move pending issues
- Close the scala-dev milestone, create next, move pending issues
- Double check
version.properties
, maybe create a PR with updates - Note the scala/scala commit sha
- Note the scala/scala-dist commit sha
Run the build
- Run the build job, specify
SCALA_VER_BASE
andSCALA_VER_SUFFIX
- Staging repo (see log of the boostrap job)
- In each staging repo, sanity-check a JAR (check library.properties in scala-library.jar)
- In each staging repo, sanity-check a POM (scala-xml)
- Announce the staging repos on https://contributors.scala-lang.org/c/announcements
Point of no return
- Tag scala/scala:
git tag -s -m "Scala [version]" v[version] [sha]
,git push https://github.com/scala/scala.git v[version]
- Tag scala/scala-dist:
git tag -s -m "Scala [version]" v[version] [sha]
,git push https://github.com/scala/scala-dist.git v[version]
- Promote staging repos:
st_stagingRepoPromote [scala-repo]
,st_stagingRepoPromote [modules-repo]
Check availability
- Check release on sonatype: https://oss.sonatype.org/content/repositories/releases/org/scala-lang/scala-compiler/
- Check the release on maven central: http://central.maven.org/maven2/org/scala-lang/scala-compiler/
- Check the release on maven search (takes longer): http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang%20v%3A[version]
When everything is on maven central
- Create PR to update
versions.properties
(new file generated by the bootstrap job) and thebaseVersion
inbuild.sbt
- Note: this is important to move the branch ahead of the tag. Otherwise the nightly build will re-stage the release and overwrite the distribution archives on S3.
- Bump version numbers after 2.13.0-M1 scala#5858
- Pre-announce the release on https://contributors.scala-lang.org/c/announcements
- Check that the API docs are published
- On 2.13.0 only: (manually) update the
current
symlink for the API docs
Release notes
- Add the release notes to the GitHub tag
- Create PR to https://github.com/scala/make-release-notes, only include a short summary of the release notes
- Prepare PR to https://github.com/scala/scala-lang/
documentation/api.md
download/index.md
_config.yml
(update devscalaversion or scalaversion)
Announcements
- Scala Users discourse https://users.scala-lang.org
- Tweet from @scala_lang
Release modules
For binary incompatible releases, release modules that are not built during the scala/scala bootstrap (or ask maintainrs to do so)
- https://github.com/rickynils/scalacheck
- https://github.com/scala/scala-xml: built during the bootstrap
- https://github.com/scala/scala-partest: built during the bootstrap
- https://github.com/scala/scala-parallel-collections
- https://github.com/scala/scala-parser-combinators
- https://github.com/scala/scala-swing
- https://github.com/scala/scala-continuations
- https://github.com/scala/scala-java8-compat
- https://github.com/scala/async
- https://github.com/scala/pickling: not critical, sbt 0.x stays is on Scala 2.10, and sbt 1.x won't depend on it.
Once scalacheck is available
- 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
inversions.properties
) allows bumpingversions.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: Use 2.13 binary version for scalacheck scala#5860
- Hard-coding the binary version there (instead of using
Metadata
Metadata
Assignees
Labels
No labels