From bbae718ef7ce6f97fe689b7b6eb80515032887c7 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Wed, 23 Jun 2021 17:06:13 +0200 Subject: [PATCH] Move more release instructions to the template (#30340) * Move more release instructions to the template Sparked by discussion in #17432 * use newer version in example Co-authored-by: Renato Cavalcanti * point to sonatype for snapshots Co-authored-by: Renato Cavalcanti --- RELEASING.md | 68 ++------------------- akka-docs/src/main/paradox/project/links.md | 23 +++---- project/MiMa.scala | 2 +- scripts/release-train-issue-template.md | 26 ++++++-- 4 files changed, 38 insertions(+), 81 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 6002c7923a..f5d0916c42 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -53,20 +53,14 @@ your `~/.sbt/1.0/private-credentials.sbt`. [Graphvis](https://graphviz.gitlab.io/download/) is needed for the scaladoc generation build task, which is part of the release. -### Release script instructions - -Make sure you have completed the setup in `project/scripts/release`. - ## Snapshot releases -Nightly snapshot releases are created from master and published to -https://repo.akka.io/snapshots by https://jenkins.akka.io:8498/job/akka-publish-nightly/ +Snapshot releases are created from master and published to +https://oss.sonatype.org/content/repositories/snapshots/com/typesafe/akka/ -To create snapshot versions manually, use `sbt clean publish`. -The release artifacts are created in `akka-*/target/repository` and can be -copied over to a maven server. If you have access, the Jenkins job at -https://jenkins.akka.io:8498/job/akka-publish-wip/ can be used to publish -a snapshot to https://repo.akka.io/snapshots from any branch. +To create snapshot versions manually, use `sbt clean publishLocal`. +If you have access, you can use `+publishSigned` to publish them to +sonatype. ## Releasing only updated docs @@ -88,55 +82,3 @@ It is possible to release a revised documentation to the already existing releas sbt akka-docs/publishRsync ``` 1. Do not forget to push the new branch back to GitHub. - -## Release steps - -* Tag the release: `git tag -am "Version 2.6.x" v2.6.x` -* Do a `project/scripts/release` to build and release to sonatype -* Log into sonatype, 'close' the staging repo. -* Test the artifacts by adding `resolvers += "Staging Repo" at "https://oss.sonatype.org/content/repositories/comtypesafe-xxxx"` to a test project -* If all is well, 'release' the staging repo. -* Push the release tag to github - -## Announcing - -* Prepare milestone on github: - * go to the [Milestones tab](https://github.com/akka/akka/milestones) - * move all open issues so that this milestone contains completed work only - * close that milestone - * create a new milestone for next patch version - -* In case of a new minor release: - * update the branch descriptions at CONTRIBUTING.md#branches-summary - * write blog post for akka.io and lightbend.com - -* Create an announcement as a PR against akka/akka.github.com . - * credits can be generated with `scripts/authors.scala v2.3.5 v2.3.6` - * also update the `latest` variable in `_config.yml`. - -Now wait until all artifacts have been properly propagated. Then: - -* Update `MiMa.latestPatchOf` and PR that change (`project/MiMa.scala`) - -* Change the symbolic links from 'current': `ssh akkarepo@gustav.akka.io ./update-akka-current-version.sh ` - -* Publish the release announcement - * Tweet about it - * Post about it on Discuss - * Post about it on Gitter - * Create a GitHub 'release' for the tag via https://github.com/akka/akka/releases with a link to the release notes - -## Update references - -Update the versions used in: - -* https://github.com/akka/akka-samples -* https://github.com/lightbend/lightbend-platform-docs/blob/master/docs/modules/getting-help/examples/build.sbt (this populates https://developer.lightbend.com/docs/lightbend-platform/introduction/getting-help/build-dependencies.html#_akka) - -These are autoupdated by latest stable on maven central: -* https://github.com/akka/akka-quickstart-java.g8 -* https://github.com/akka/akka-quickstart-scala.g8 -* https://github.com/akka/akka-http-quickstart-java.g8 -* https://github.com/akka/akka-http-quickstart-scala.g8 -* https://github.com/akka/akka-grpc-quickstart-java.g8 -* https://github.com/akka/akka-grpc-quickstart-scala.g8 diff --git a/akka-docs/src/main/paradox/project/links.md b/akka-docs/src/main/paradox/project/links.md index d7f450ea91..220873ff1f 100644 --- a/akka-docs/src/main/paradox/project/links.md +++ b/akka-docs/src/main/paradox/project/links.md @@ -32,12 +32,7 @@ All Akka releases are published via Sonatype to Maven Central, see ## Snapshots Repository -Nightly builds are available in [https://repo.akka.io/snapshots](https://repo.akka.io/snapshots/) as both `SNAPSHOT` and -timestamped versions. - -For timestamped versions, pick a timestamp from -[https://repo.akka.io/snapshots/com/typesafe/akka/](https://repo.akka.io/snapshots/com/typesafe/akka/). -All Akka modules that belong to the same build have the same timestamp. +Snapshot builds are available at [https://oss.sonatype.org/content/repositories/snapshots/com/typesafe/akka/](https://oss.sonatype.org/content/repositories/snapshots/com/typesafe/akka/). All Akka modules that belong to the same build have the same version. @@@ warning @@ -50,14 +45,14 @@ The use of Akka SNAPSHOTs, nightlies and milestone releases is discouraged unles Make sure that you add the repository to the sbt resolvers: ``` -resolvers += "Akka Snapshots" at "https://repo.akka.io/snapshots/" +resolvers += Resolver.sonatypeRepo("snapshots") ``` -Define the library dependencies with the timestamp as version. For example: +Define the library dependencies with the complete version. For example: @@@vars ``` -libraryDependencies += "com.typesafe.akka" % "akka-remote_$scala.binary.version$" % "2.5-20170510-230859" +libraryDependencies += "com.typesafe.akka" % "akka-remote_$scala.binary.version$" % "2.6.14+72-53943d99-SNAPSHOT" ``` @@@ @@ -68,10 +63,12 @@ Make sure that you add the repository to the Maven repositories in pom.xml: ``` - akka-snapshots - Akka Snapshots - https://repo.akka.io/snapshots/ + oss-sonatype + https://oss.sonatype.org/content/repositories/snapshots default + + true + ``` @@ -84,7 +81,7 @@ Define the library dependencies with the timestamp as version. For example: com.typesafe.akka akka-remote_$scala.binary.version$ - 2.5-20170510-230859 + 2.6.14+72-53943d99-SNAPSHOT ``` diff --git a/project/MiMa.scala b/project/MiMa.scala index 39dfcce8d0..5dd678e916 100644 --- a/project/MiMa.scala +++ b/project/MiMa.scala @@ -13,7 +13,7 @@ import com.typesafe.tools.mima.plugin.MimaPlugin.autoImport._ object MiMa extends AutoPlugin { private val latestPatchOf25 = 32 - private val latestPatchOf26 = 14 + private val latestPatchOf26 = 15 override def requires = MimaPlugin override def trigger = allRequirements diff --git a/scripts/release-train-issue-template.md b/scripts/release-train-issue-template.md index b1d7dbe191..55c9bdabbc 100644 --- a/scripts/release-train-issue-template.md +++ b/scripts/release-train-issue-template.md @@ -3,8 +3,10 @@ Release Akka $VERSION$ ### Before the release - [ ] Make sure all important / big PRs have been merged by now -- [ ] Create a news item draft PR on [akka.github.com](https://github.com/akka/akka.github.com), using the milestone -- [ ] Make sure to update `versions.json` in it +- [ ] Create a news item draft PR on [akka.io](https://github.com/akka/akka.io), using the milestone and `scripts/authors.scala v2.6.14 v2.6.15` +- [ ] Make sure to update `_config.yml` in it +- In case of a new minor release: + - [ ] update the branch descriptions at CONTRIBUTING.md#branches-summary ### Cutting the release @@ -12,6 +14,7 @@ Release Akka $VERSION$ - [ ] Tag the release `git tag -a -s -m 'Release v$VERSION$' v$VERSION$` and push the tag `git push --tags` - [ ] Create a [new milestone](https://github.com/akka/akka/milestones) for the next version and close the current one. - [ ] Check that the GitHub Actions release build has executed successfully (it should publish artifacts to Sonatype and documentation to Gustav) +- [ ] Update `MiMa.latestPatchOf` and PR that change (`project/MiMa.scala`) ### Check availability @@ -45,7 +48,22 @@ Release Akka $VERSION$ - [ ] Merge draft news item for [akka.io](https://github.com/akka/akka.github.com) - [ ] Create a [GitHub release](https://github.com/akka/akka/releases) with the next tag version `v$VERSION$`, title and a link to the announcement -- [ ] Send a release notification to [Lightbend discuss](https://discuss.akka.io) -- [ ] Tweet using the akkateam account (or ask someone to) about the new release +- [ ] Post about it on the [forum](https://discuss.akka.io) +- [ ] Tweet using the [@akkateam](https://twitter.com/akkateam) account (or ask someone to) about the new release - [ ] Announce on [Gitter akka/akka](https://gitter.im/akka/akka) - [ ] Announce internally + +## Update references + +Update the versions used in: + +* [ ] https://github.com/akka/akka-samples +* [ ] https://github.com/lightbend/lightbend-platform-docs/blob/master/docs/modules/getting-help/examples/build.sbt (this populates https://developer.lightbend.com/docs/lightbend-platform/introduction/getting-help/build-dependencies.html#_akka) + +These are autoupdated by latest stable on maven central: +* https://github.com/akka/akka-quickstart-java.g8 +* https://github.com/akka/akka-quickstart-scala.g8 +* https://github.com/akka/akka-http-quickstart-java.g8 +* https://github.com/akka/akka-http-quickstart-scala.g8 +* https://github.com/akka/akka-grpc-quickstart-java.g8 +* https://github.com/akka/akka-grpc-quickstart-scala.g8