Skip to content

Commit

Permalink
Release helper tools and auto labeling (#1754)
Browse files Browse the repository at this point in the history
  • Loading branch information
ennru committed Jun 18, 2019
1 parent 5df1145 commit 5d473d0
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 23 deletions.
44 changes: 44 additions & 0 deletions .github/autolabeler.yml
Original file line number Diff line number Diff line change
@@ -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"]
10 changes: 7 additions & 3 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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:
Expand Down
8 changes: 1 addition & 7 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
37 changes: 24 additions & 13 deletions docs/release-train-issue-template.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Release Alpakka $VERSION$

<!--
# Release Train Issue Template for Alpakka
(Liberally copied and adopted from Scala itself https://github.com/scala/scala-dev/blob/b11cd2e4a4431de7867db6b39362bea8fa6650e7/notes/releases/template.md)
Expand All @@ -6,11 +9,11 @@ For every Alpakka release, make a copy of this file named after the release, and
Ideally replacing variables could become a script you can run on your local machine.
Variables to be expanded in this template:
- $ALPAKKA_VERSION$=???
- $VERSION$=???
Key links:
- akka/alpakka milestone: https://github.com/akka/alpakka/milestone/?

-->
### ~ 1 week before the release

- [ ] Check that any new `deprecated` annotations use the correct version name
Expand All @@ -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

Expand All @@ -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
10 changes: 10 additions & 0 deletions scripts/create-release-issue.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 5d473d0

Please sign in to comment.