- Add a release notes entry in docs/src/main/paradox/release-notes.md. As a helper run
scripts/commits-for-release-notes.sh <last-version-tag>
which will output a list of commits grouped by submodule. - Create a new release with the next tag version (e.g.
v13.3.7
), title and release description including notable changes mentioning external contributors. - Travis CI will start a CI build for the new tag and publish artifacts to Bintray and will sync them to Maven Central.
- Checkout the newly created tag and run
sbt -Dakka.genjavadoc.enabled=true "++2.12.0 deployRsync repo.akka.io"
to deploy API and reference documentation. - Go to https://bintray.com/akka/maven/com.typesafe.akka:akka-http_2.11 and select the just released version
- Go to the Maven Central tab and sync with Sonatype
- Log in to Sonatype to Close the staging repository
- Run a test against the staging repository to make sure the release went well
- Release the staging repository to Maven Central.
- Create a news item on https://github.com/akka/akka.github.com
- Add the released version to
project/MiMa.scala
to themimaPreviousArtifacts
key.
- Update Akka HTTP dependency in akka-http seed templates (scala & java)
- Update Akka HTTP dependency in akka-management
Here is what happens in detail when Travis CI is building a git tagged commit:
- According to the
.travis.yml
filedeploy
section it first runs a+publish
task: - Because of the
+
a the start of the task, all of these actions are repeated for every scala version defined incrossScalaVersions
. - Because of the
bintray-sbt
plugin,publish
builds and uploads artifacts to Bintray. - By default all projects have
BintrayPlugin
enabled. Projects that havedisablePlugins(BintrayPlugin)
are not built. - Artifacts are uploaded to
https://bintray.com/$bintrayOrganization/$bintrayRepository/$bintrayPackage
which in this case is https://bintray.com/akka/maven/akka-http. - Credentials for the
publish
task are read from theBINTRAY_USER
andBINTRAY_PASS
environment variables which are stored encrypted on the.travis.yml
file. The user under these credentials must be part of the Akka team on Bintray.
This could be done automatically via .travis.yml
in deploy
by adding section is akka-http/bintraySyncMavenCentral
, however we prefer to run this step manually after confirming a release is valid.
- This task syncs all of the artifacts under the Akka Http package in Bintray to Maven Central. For the sync to be successful, the package first needs to be added to JCenter repository. This must be done through Bintray Web interface, and only once when the package is created.
- This task is only ran for one project, because all Akka Http projects are published to a single package on Bintray.
- Credentials for the
bintraySyncMavenCentral
task are read from theSONATYPE_USER
andSONATYPE_PASS
environment variables which are stored encrypted on the.travis.yml
file. The user under these credentials must have the rights to publish artifacts to the Maven Central under thecom.typesafe.akka
organization name.