scala / scala-dev

Scala 2 team issues. Not for user-facing bugs or directly actionable user-facing improvements. For build/test/infra and for longer-term planning and idea tracking. Our bug tracker is at https://github.com/scala/bug/issues
Apache License 2.0
130 stars 15 forks source link

Release Scala 2.13.9 #808

Closed SethTisue closed 1 year ago

SethTisue commented 2 years ago

Variables to be expanded in this template (or set and export them in a local terminal, so that you can copy/paste the commands below without replacing anything):

SCALA_VER_BASE="2.13.9"
SCALA_VER_SUFFIX=""
SCALA_SHA=986dcc160aab85298f6cab0bf8dd0345497cdc01
DIST_SHA=ea3c4fe1f729b393a232f1d19b0ec06a27cd28b7
SCALA_VER="$SCALA_VER_BASE$SCALA_VER_SUFFIX"

Key links:

N weeks before the release

Release announcement / notes

N days before release

Point of no return

Once sufficient time for community testing has passed, it's time to cut the release!

What is "sufficient" time? A week is a bare minimum. Two weeks is a better "normal" amount. We should also respect requests from Scala Center advisory board members, if they explicitly ask for additional testing time. (In the past, we sometimes only waited a day or two, but this was overly optimistic in presuming that people had been testing nightlies all along.)

Be mindful of others' schedules; even minor releases make work downstream (for Scala.js and Scala Native, for the Scala 3 team, for compiler plugin authors, and so on). And a botched release might make unexpected work for ourselves as well as for others. So it's better not to release on a Friday or even a Thursday, or too close to a major holiday. And it's best to release while everyone in both America and Europe is awake. (First thing in the morning in America is a good choice.)

Check availability

When everything is on maven central

NOTE (Mar 2 2022): at next release time, update these steps as needed to accomodate https://github.com/scala/scala-lang/pull/1344

Prepare downstream

Wait for downstream

Before proceeding any further, wait for the ecosystem to catch up.

We have promised to wait 48 non-weekend hours, minimum.

If there are delays downstream, at some point it may make sense to go ahead and announce anyway, since news of the release will already be spreading in the community.

Announcements

Afterwards

You're done!

SethTisue commented 2 years ago

all the todo items before the "Point of no return" are now complete

SethTisue commented 1 year ago

The release job went fine except that the scala-dist jobs it triggered failed early because apt-get update failed:

W: The repository 'http://apt.postgresql.org/pub/repos/apt xenial-pgdg Release' does not have a Release file.
217E: Failed to fetch http://apt.postgresql.org/pub/repos/apt/dists/xenial-pgdg/main/binary-amd64/Packages  404  Not Found [IP: 87.238.57.227 80]
218E: Some index files failed to download. They have been ignored, or old ones used instead.

I merged https://github.com/scala/scala-dist/pull/220 and re-ran the release job with the sole purpose of re-triggering the scala-dist jobs. (It will also create staging repos on Sonatype, but I'll just drop them.)

SethTisue commented 1 year ago

downstream publishing is done, so everything appears to be on track for Wednesday

som-snytt commented 1 year ago

:tada: It's a lot of checkmarks.