Skip to content

Commit 7a081bc

Browse files
authored
Rework flow based on staging lessons learned
1 parent 48c9863 commit 7a081bc

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

notes/releases/template.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,39 @@ Key links:
1414
- scala/scala-dev milestone: https://github.com/scala/scala-dev/milestone/?
1515
- scala/collection-strawman milestone: https://github.com/scala/collection-strawman/milestone/?
1616

17-
### Before the release
18-
- [ ] Notify community on https://contributors.scala-lang.org/c/announcements
17+
### N weeks before the release
18+
- [ ] Wind down PR queue. There has to be enough time after the last (non-trivial) PR is merged and the next phase. The core of the eco-system needs time to prepare for the final!
19+
- [ ] Triage scala/bug and scala/scala-dev tickets
1920
- [ ] 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)
2021
- [ ] Close the scala/bug milestone, create next milestone, move pending issues
2122
- [ ] Close the scala/scala-dev milestone, create next milestone, move pending issues
22-
- [ ] Triage scala/bug and scala/scala-dev tickets
2323
- [ ] Check PRs assigned to the milestone, also check WIP
24-
- [ ] Check merged PRs for the next milestone in this branch, and assign them to this milestone
25-
- [ ] Merge in older release branch
26-
- [ ] Make sure the community build is green
24+
- [ ] Announce expected release date and current nightly "release candidate" (nightly sha-mangled version) at https://scala-ci.typesafe.com/artifactory/scala-integration/ on https://contributors.scala-lang.org/c/announcements
25+
26+
### Release announcement / notes
27+
- [ ] Notify community on https://contributors.scala-lang.org/c/announcements
28+
- [ ] Review merged PRs, make sure release-notes label is applied appropriately
29+
- [ ] PRs with release-notes label must have excellent title & description (title will be pasted literally in release note bullet list)
30+
- [ ] Draft release notes (to be published once GitHub tag is pushed)
31+
- 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
32+
- [ ] On contributors thread, link to release note gist and request feedback
33+
- [ ] Prepare PR to https://github.com/scala/scala-lang/ (using scala/make-release-notes)
34+
35+
### N days before release
36+
- Announce no more PRs will be merged unless last-minute regressions are found. Re-iterate current nightly sha version for testing.
37+
- [ ] Community build
2738
- won't be anywhere near all green, but we should make sure some nontrivial number of projects are still green
2839
- run with expected-greens only: https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-community-build/?
2940
- also do a full run to see if there are any unexpected greens
30-
- [ ] make sure the Windows Jenkins job is green
41+
- [ ] Windows Jenkins job
3142
- don't just trust the automated nightly runs, manually trigger a run on the exact SHA
3243
- https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-windows/?
44+
- [ ] Check any merged PRs accidentally assigned to the next milestone in this branch, and re-assign them to this milestone
45+
- [ ] Merge in any older release branch
3346

34-
### Stage the release
35-
- [ ] If there are any leftover staging repos from previous stagings, drop them first
36-
- because the scala-dist job will resolve artifacts from https://oss.sonatype.org/content/repositories/staging/ rather than directly from the numbered staging repos
47+
### Point of no return
48+
- Once sufficient time has passed since last merged PR (1-2 weeks depending on whether it's a maintenance or development branch), and core projects have tried out the candidate nightly, it's time to cut the release!
49+
- [ ] Make sure there are no stray staging repos on sonatype
3750
- [ ] Trigger a build on [travis](https://travis-ci.org/scala/scala), specify `SCALA_VER_BASE` and `SCALA_VER_SUFFIX` in the custom config
3851
- config: `before_install: export SCALA_VER_BASE=$SCALA_VER_BASE SCALA_VER_SUFFIX=$SCALA_VER_SUFFIX`)
3952
- Check the build status on https://github.com/scala/scala/commits/2.13.x
@@ -48,20 +61,9 @@ Key links:
4861
- [ ] Sanity check jar/pom
4962
- https://oss.sonatype.org/content/repositories/staging/org/scala-lang/scala-compiler/$SCALA_VER/
5063
- 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
51-
- [ ] Announce release is staged at https://oss.sonatype.org/content/repositories/staging/ on https://contributors.scala-lang.org/c/announcements
5264
- [ ] Trigger scala-dist jobs on travis (https://travis-ci.org/scala/scala-dist) with custom config. must use full-length SHAs!
5365
- `before_install: export version=$SCALA_VER scala_sha=$SCALA_SHA mode=stage` # TODO this mode is not yet implemented
54-
55-
### Release notes
56-
- [ ] Review merged PRs, make sure release-notes label is applied appropriately
57-
- [ ] PRs with release-notes label must have excellent title & description (title will be pasted literally in release note bullet list)
58-
- [ ] Draft release notes (to be published once GitHub tag is pushed)
59-
- 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
60-
- [ ] On contributors thread, link to release note gist and request feedback
61-
- [ ] Prepare PR to https://github.com/scala/scala-lang/ (using scala/make-release-notes)
62-
63-
### Point of no return
64-
- tags are forever, so are maven artifacts and S3 uploads (S3 buckets can be changed, but it can takes days to become consistent)
66+
- Remember, tags are forever, so are maven artifacts (even staged ones, as they could end up in local caches) and S3 uploads (S3 buckets can be changed, but it can takes days to become consistent)
6567
- [ ] Push scala/scala tag: `git push https://github.com/scala/scala.git v$SCALA_VER`
6668
- [ ] Add release notes to https://github.com/scala/scala/releases/tag/v$SCALA_VER
6769
- [ ] Push scala/scala-dist tag: `git push https://github.com/scala/scala-dist.git v$SCALA_VER`

0 commit comments

Comments
 (0)