Closed
Description
Variables expanded in template:
- SCALA_VER_BASE="2.12.7"
- SCALA_VER_SUFFIX=""
- SCALA_SHA=d96b8eb48e83d400c03663a05b66ec218ead9c14
- DIST_SHA=11da0884a4af4520c8704499c95bce10b731eafa
- SCALA_VER="2.12.7"
Key links:
- scala/scala milestone: https://github.com/scala/scala/milestone/73
- scala/bug milestone: https://github.com/scala/bug/milestone/93
- scala/scala-dev milestone: https://github.com/scala/scala-dev/milestone/6
Before the release
- Notify community on https://contributors.scala-lang.org/c/announcements
- Create next scala/scala milestone, move the magical "Merge to 2.13.x" description to it (so Scabot uses it as default for new PRs)
- Close the scala/bug milestone, create next milestone, move pending issues
- Close the scala/scala-dev milestone, create next milestone, move pending issues
- Triage scala/bug and scala/scala-dev tickets
- Check PRs assigned to the milestone, also check WIP
- Check merged PRs for the next milestone in this branch, and assign them to this milestone
- [/] Merge in older release branch
- Make sure the community build is green
- make sure the Windows Jenkins job is green
- don't just trust the automated nightly runs, manually trigger a run on the exact SHA
- https://scala-ci.typesafe.com/job/scala-2.12.x-integrate-windows/1114
- Manual testing
- repl/sbt on Java 11
- macro paradise
Stage the release
- If there are any leftover staging repos from previous stagings, drop them first
- because the scala-dist job will resolve artifacts from https://oss.sonatype.org/content/repositories/staging/ rather than directly from the numbered staging repos
- Trigger a build on travis, specify
SCALA_VER_BASE
andSCALA_VER_SUFFIX
in the custom config: https://travis-ci.org/scala/scala/builds/433968930- config:
before_install: export SCALA_VER_BASE="2.12.7" SCALA_VER_SUFFIX=""
) - Check the build status on https://github.com/scala/scala/commits/2.12.x
- Check that the scala/scala job also triggered a following scala/scala-dist job: https://travis-ci.org/scala/scala-dist/builds/
- Create the scala/scala tag locally:
git tag -s -m "Scala 2.12.7" v2.12.7 d96b8eb48e83d400c03663a05b66ec218ead9c14
- Create scala-dist tag locally:
git tag -s -m "Scala 2.12.7" v2.12.7 11da0884a4af4520c8704499c95bce10b731eafa
- Note the repos to be promoted after tag is cut (see travis log): orgscala-lang-1616 orgscala-lang-1617 orgscala-lang-1618 orgscala-lang-1619 orgscala-lang-1620 orgscala-lang-1621 orgscala-lang-1622 orgscala-lang-1623 NOTE This also contains staged artifacts for last night's scala-xml 1.1.1 release
- config:
- Sanity check jar/pom
- https://oss.sonatype.org/content/repositories/staging/org/scala-lang/scala-compiler/2.12.7/
- in particular, if the release was staged multiple times, double check that https://oss.sonatype.org/content/repositories/staging/ has the files from the most recent build
- Announce release is staged at https://oss.sonatype.org/content/repositories/staging/ on https://contributors.scala-lang.org/c/announcements
Release notes
- Review merged PRs, make sure release-notes label is applied appropriately
- PRs with release-notes label must have excellent title & description (title will be pasted literally in release note bullet list)
- Draft release notes (to be published once GitHub tag is pushed)
- note that GitHub release notes drafts can only be viewed by committers, so use a gist to draft the notes, so the gist can be shared with the community
- On contributors thread, link to release note gist and request feedback
- Prepare PR to https://github.com/scala/scala-lang/ (using scala/make-release-notes)
Point of no return
- tags are forever, so are maven artifacts and S3 uploads (S3 buckets can be changed, but it can takes days to become consistent)
- Push scala/scala tag:
git push https://github.com/scala/scala.git v2.12.7
- Add release notes to https://github.com/scala/scala/releases/tag/v2.12.7
- Push scala/scala-dist tag:
git push https://github.com/scala/scala-dist.git v2.12.7
- Trigger two scala-dist jobs on travis (https://travis-ci.org/scala/scala-dist) with custom config. must use full-length SHAs!
before_install: export version=2.12.7 scala_sha=d96b8eb48e83d400c03663a05b66ec218ead9c14 mode=archives
: https://travis-ci.org/scala/scala-dist/builds/?before_install: export version=2.12.7 scala_sha=d96b8eb48e83d400c03663a05b66ec218ead9c14 mode=update-api
: https://travis-ci.org/scala/scala-dist/builds/?
- Promote staging repos:
for r in orgscala-lang-1616 orgscala-lang-1617 orgscala-lang-1618 orgscala-lang-1619 orgscala-lang-1620 orgscala-lang-1621 orgscala-lang-1622 orgscala-lang-1623; do st_stagingRepoPromote $r; done
(or use oss.sonatype.org web UI)
Check availability
- Check release on sonatype: https://oss.sonatype.org/content/repositories/releases/org/scala-lang/scala-compiler/2.12.7/
- Check the release on maven central: http://central.maven.org/maven2/org/scala-lang/scala-compiler/2.12.7/
- Check the release on maven search (takes longer): http://search.maven.org/#search%7Cga%7C1%7Cg%3Aorg.scala-lang%20v%3A2.12.7
When everything is on maven central
- make sure the draft release notes are on GitHub tag: https://github.com/scala/scala/releases/tag/v2.12.7
- Pre-announce the release on https://contributors.scala-lang.org/c/announcements
- Check that the API docs are published
- Merge the scala-lang PR (Scala 2.12.7 scala-lang#956)
- wait for it to reach https://www.scala-lang.org and make sure it looks okay
Modules
- publish macro-paradise
Announcements
- Scala Users discourse https://users.scala-lang.org
- add a reply on the same https://contributors.scala-lang.org thread where you announced that the release process was starting
- Tweet from @scala_lang
- https://gitter.im/scala/scala
- if you feel like it, say something in https://gitter.im/scala/contributors too
- ask Seth to announce on #scala IRC
Afterwards
- Create PR to update
versions.properties
(new file generated by the bootstrap job) and thebaseVersion
inbuild.sbt
: Bump version to 2.12.8, restarr onto 2.12.7 scala#7275
Metadata
Metadata
Assignees
Labels
No labels