diff --git a/.github/autolabeler.yml b/.github/autolabeler.yml new file mode 100644 index 0000000000..64e3efd046 --- /dev/null +++ b/.github/autolabeler.yml @@ -0,0 +1,44 @@ +# configuration for https://github.com/probot/autolabeler + +documentation: ["/docs", "/doc-examples"] +dependency-change: "/project/Dependencies.scala" + +'p:amqp': ["/amqp"] +'p:avroparquet': ["/avroparquet"] +'p:aws-lambda': ["/awslambda"] +'p:aws-s3': ["/s3"] +'p:aws-sns': ["/sns"] +'p:aws-sqs': ["/sqs"] +'p:azure-storage-queue': ["/azure-storage-queue"] +'p:cassandra': ["/cassandra"] +'p:csv': ["/csv", "/csv-bench"] +'p:couchbase': ["/couchbase"] +'p:dynamodb': ["/dyamodb"] +'p:elasticsearch': ["/elasticsearch"] +'p:file': ["/file"] +'p:ftp': ["/ftp"] +'p:geode': ["/geode"] +'p:google-cloud-pub-sub': ["/google-cloud-pub-sub"] +'p:google-cloud-pub-sub-grpc': ["/google-cloud-pub-sub-grpc"] +'p:google-fcm': ["/google-fcm"] +'p:hbase': ["/hdfs"] +'p:hdfs': ["/hdfs"] +'p:ironmq': ["/ironmq"] +'p:jms': ["/jms"] +'p:json-streaming': ["/json-streaming"] +'p:kinesis': ["/kinesis"] +'p:kudu': ["/kudu"] +'p:mongodb': ["/mongodb"] +'p:mqtt': ["/mqtt"] +'p:mqtt-streaming': ["/mqtt-streaming", "/mqtt-streaming-bench"] +'p:orientdb': ["/orientdb"] +'p:recordio': ["/simple-codecs"] +'p:reference': ["/reference"] +'p:slick': ["/slick"] +'p:solr': ["/solr"] +'p:spring-web': ["/spring-web"] +'p:sse': ["/sse"] +'p:text': ["/text"] +'p:udp': ["/udp"] +'p:unix-domain-socket': ["/unix-domain-socket"] +'p:xml': ["/xml"] diff --git a/RELEASING.md b/RELEASING.md index 68fa5e6e02..7a12399662 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,6 +1,10 @@ ## Releasing -Create a new issue from the [Alpakka Release Train Issue Template](docs/release-train-issue-template.md) and follow the steps. +Use this command to create a release issue of [Alpakka Release Train Issue Template](docs/release-train-issue-template.md) and follow the steps. + +```bash +~/alpakka> scripts/create-release-issue.sh `version-to-be-released` +``` ### Releasing only updated docs @@ -9,8 +13,8 @@ It is possible to release a revised documentation to the already existing releas 1. Create a new branch from a release tag. If a revised documentation is for the `v0.3` release, then the name of the new branch should be `docs/v0.3`. 1. Add and commit `version.sbt` file that pins the version to the one, that is being revised. Also set `isSnapshot` to `false` for the stable documentation links. For example: ```scala - version in ThisBuild := "0.3" - isSnapshot in ThisBuild := false + ThisBuild / version := "1.0.4" + ThisBuild / isSnapshot := false ``` 1. Make all of the required changes to the documentation. 1. Build documentation locally with `CI` settings: diff --git a/build.sbt b/build.sbt index b69db05834..0f66c45f83 100644 --- a/build.sbt +++ b/build.sbt @@ -314,13 +314,7 @@ lazy val docs = project "javadoc.org.eclipse.paho.client.mqttv3.base_url" -> "https://www.eclipse.org/paho/files/javadoc/", "javadoc.org.bson.codecs.configuration.base_url" -> "https://mongodb.github.io/mongo-java-driver/3.7/javadoc/", "scaladoc.scala.base_url" -> s"https://www.scala-lang.org/api/${scalaBinaryVersion.value}.x/", - "scaladoc.akka.stream.alpakka.base_url" -> { - val docsHost = sys.env - .get("CI") - .map(_ => "https://doc.akka.io") - .getOrElse(s"http://localhost:${(previewSite / previewFixedPort).value.getOrElse(4000)}") - s"$docsHost/api/alpakka/${if (isSnapshot.value) "snapshot" else version.value}/" - } + "scaladoc.akka.stream.alpakka.base_url" -> s"/api/alpakka/${if (isSnapshot.value) "snapshot" else version.value}/" ), paradoxGroups := Map("Language" -> Seq("Java", "Scala")), resolvers += Resolver.jcenterRepo, diff --git a/docs/release-train-issue-template.md b/docs/release-train-issue-template.md index 54d5e38a58..f2666e12ed 100644 --- a/docs/release-train-issue-template.md +++ b/docs/release-train-issue-template.md @@ -1,3 +1,6 @@ +Release Alpakka $VERSION$ + + ### ~ 1 week before the release - [ ] Check that any new `deprecated` annotations use the correct version name @@ -32,31 +35,40 @@ Key links: - [ ] Check supported projects listing in `whitesourceSupported` - [ ] Add a release notes entry in `docs/src/main/paradox/release-notes/` listing contributors generated by [`sbt-authors`](https://github.com/2m/authors) (eg. `sbt authors v0.22 HEAD`) - [ ] For non-patch releases: Create a news item draft PR on [akka.github.com](https://github.com/akka/akka.github.com), using the milestone -- [ ] Move all [unclosed issues](https://github.com/akka/alpakka/issues?q=is%3Aopen+is%3Aissue+milestone%3A$ALPAKKA_VERSION$) for this milestone to the next milestone +- [ ] Move all [unclosed issues](https://github.com/akka/alpakka/issues?q=is%3Aopen+is%3Aissue+milestone%3A$VERSION$) for this milestone to the next milestone - [ ] Release notes PR has been merged ### Cutting the release - [ ] Wait until [master build finished](https://travis-ci.com/akka/alpakka/builds/) after merging the release notes -- [ ] Create a [new release](https://github.com/akka/alpakka/releases/new) with the next tag version `v$ALPAKKA_VERSION$`, title and release description linking to announcement, release notes and milestone +- [ ] Create a [new release](https://github.com/akka/alpakka/releases/new) with the next tag version `v$VERSION$`, title and release description linking to announcement, release notes and milestone - [ ] Check that Travis CI release build has executed successfully (Travis will start a [CI build](https://travis-ci.com/akka/alpakka/builds) for the new tag and publish artifacts to Bintray and documentation to Gustav) - [ ] Go to [Bintray](https://bintray.com/akka/maven/alpakka) and select the just released version - [ ] Go to the Maven Central tab, check the *Close and release repository when done* checkbox and sync with Sonatype (using your Sonatype TOKEN key and password) +- [ ] Close the [$VERSION$ milestone](https://github.com/akka/alpakka/milestones?direction=asc&sort=due_date) ### Check availability -- [ ] Check [API](https://doc.akka.io/api/alpakka/$ALPAKKA_VERSION$/) documentation -- [ ] Check [reference](https://doc.akka.io/docs/alpakka/$ALPAKKA_VERSION$/) documentation -- [ ] Check the release on [Maven central](http://central.maven.org/maven2/com/lightbend/akka/akka-stream-alpakka-xml_2.12/$ALPAKKA_VERSION$/) +- [ ] Check [API](https://doc.akka.io/api/alpakka/$VERSION$/) documentation +- [ ] Check [reference](https://doc.akka.io/docs/alpakka/$VERSION$/) documentation +- [ ] Check the release on [Maven central](http://central.maven.org/maven2/com/lightbend/akka/akka-stream-alpakka-xml_2.12/$VERSION$/) ### When everything is on maven central - [ ] Log into `gustav.akka.io` as `akkarepo` - [ ] update the `current` links on `repo.akka.io` to point to the latest version with ``` - ln -nsf $ALPAKKA_VERSION$ www/docs/alpakka/current - ln -nsf $ALPAKKA_VERSION$ www/api/alpakka/current + ln -nsf $VERSION$ www/docs/alpakka/current + ln -nsf $VERSION$ www/api/alpakka/current + ln -nsf $VERSION$ www/docs/alpakka/1.0 + ln -nsf $VERSION$ www/api/alpakka/1.0 ``` - [ ] check changes and commit the new version to the local git repository + ``` + cd ~/www + git add docs/alpakka/1.0 docs/alpakka/current docs/alpakka/$VERSION$ + git add api/alpakka/1.0 api/alpakka/current api/alpakka/$VERSION$ + git commit -m "Alpakka $VERSION$" + ``` ### Announcements @@ -68,8 +80,7 @@ Key links: ### Afterwards -- [ ] If Cassandra has relevant changes, create/update PR in [Akka Persistence Cassandra](https://github.com/akka/akka-persistence-cassandra/) to upgrade to $ALPAKKA_VERSION$ -- [ ] If Couchbase has relevant changes, create/update PR in [Akka Persistence Couchbase](https://github.com/akka/akka-persistence-couchbase/) to upgrade to $ALPAKKA_VERSION$ -- [ ] Update version for [Lightbend Supported Modules](https://developer.lightbend.com/docs/reactive-platform/2.0/supported-modules/#other-akka-modules) in [private project](https://github.com/lightbend/reactive-platform-docs/blob/master/build.sbt#L77) -- [ ] Close the [$ALPAKKA_VERSION$ milestone](https://github.com/akka/alpakka/milestones?direction=asc&sort=due_date) +- [ ] If Cassandra has relevant changes, create/update PR in [Akka Persistence Cassandra](https://github.com/akka/akka-persistence-cassandra/) to upgrade to $VERSION$ +- [ ] If Couchbase has relevant changes, create/update PR in [Akka Persistence Couchbase](https://github.com/akka/akka-persistence-couchbase/) to upgrade to $VERSION$ +- [ ] Update version for [Lightbend Supported Modules](https://developer.lightbend.com/docs/reactive-platform/2.0/supported-modules/#other-akka-modules) in [private project](https://github.com/lightbend/reactive-platform-docs/blob/master/build.sbt) - Close this issue diff --git a/scripts/create-release-issue.sh b/scripts/create-release-issue.sh new file mode 100755 index 0000000000..786d4aa4a5 --- /dev/null +++ b/scripts/create-release-issue.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +VERSION=$1 +if [ -z $VERSION ] +then + echo specify the version name to be released, eg. 1.0.0 +else + sed -e 's/\$VERSION\$/'$VERSION'/g' docs/release-train-issue-template.md > /tmp/release-$VERSION.md + echo Created $(hub issue create -F /tmp/release-$VERSION.md -M $VERSION --browse) +fi