From 3fb995c63488f784261de008aca057d799f4ba7e Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Thu, 25 Jan 2024 10:37:23 +0100 Subject: [PATCH 1/3] chore: release issue --- LICENSE | 2 +- RELEASING.md | 15 +++---- docs/release-train-issue-template.md | 60 ++++++++++++++++++++++++++++ scripts/create-release-issue.sh | 10 +++++ 4 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 docs/release-train-issue-template.md create mode 100644 scripts/create-release-issue.sh diff --git a/LICENSE b/LICENSE index 01ccdc2..11987cb 100644 --- a/LICENSE +++ b/LICENSE @@ -15,7 +15,7 @@ Additional Use Grant: Connecting to a Play Framework websocket and/or Play Framework request/response bodies for server and play-ws client. -Change Date: 2027-01-22 +Change Date: 2027-01-25 Change License: Apache License, Version 2.0 diff --git a/RELEASING.md b/RELEASING.md index 9379e29..f8c35ba 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,15 +1,10 @@ # Releasing Rust crates -1. Update the cargo.toml and change the `workspace.package.version`. -2. Change the `dependency.akka-*` versions to be the same version number as per step 1. -3. Commit the changes. -4. Create a release from https://github.com/lightbend/akka-edge-rs/releases. Tag with the same version as in cargo.toml - using `v` as a prefix e.g. 1.0.0 would be "v1.0.0". -5. [CI workflow](https://github.com/lightbend/akka-edge-rs/actions/workflows/publish.yml) will publish to - https://repo.akka.io/cargo and API docs to https://doc.akka.io/api/akka-edge-rs/``/ -6. Update the current API URL on Gustav - - `cd www/api/akka-edge-rs/` - - `ln -snf ${version} current` +Create a new issue from the [Release Train Issue Template](scripts/release-train-issue-template.md): + +``` +$ sh ./scripts/create-release-issue.sh 0.x.y +``` ## Manual releasing to Cloudsmith Ensure the following env vars are available: diff --git a/docs/release-train-issue-template.md b/docs/release-train-issue-template.md new file mode 100644 index 0000000..3a4b67b --- /dev/null +++ b/docs/release-train-issue-template.md @@ -0,0 +1,60 @@ +Release Akka Edge Rust $VERSION$ + + + +### Cutting the release + +- [ ] Check that open PRs and issues assigned to the milestone are reasonable +- [ ] Update the cargo.toml and change the `workspace.package.version` to `$VERSION$`. Change the `dependency.akka-*` versions to be the same version number. +- [ ] Update the version and change date in the LICENSE file. +- [ ] Create a new milestone for the [next version](https://github.com/akka/akka-edge-rs/milestones) +- [ ] Close the [$VERSION$ milestone](https://github.com/akka/akka-edge-rs/milestones?direction=asc&sort=due_date) +- [ ] Make sure all important PRs have been merged +- [ ] Wait until [main build finished](https://github.com/akka/akka-edge-rs/actions) after merging the latest PR +- [ ] Update the [draft release](https://github.com/akka/akka-edge-rs/releases) with the next tag version `v$VERSION$`, title and release description. Use the `Publish release` button, which will create the tag. +- [ ] Check that GitHub Actions release build has executed successfully (GitHub Actions will start a [CI build](https://github.com/akka/akka-edge-rs/actions) for the new tag and publish artifacts to https://repo.akka.io/cargo/) + +### Check availability + +- [ ] Check [API](https://doc.akka.io/api/akka-edge-rs/v$VERSION$/) documentation +- [ ] Check the release by updating the akka versions in https://github.com/lightbend/akka-projection-temp/tree/main/samples/grpc/iot-service-rs. Run `cargo check` in `iot-service-rs`. + +### Update current links + - [ ] Log into `gustav.akka.io` as `akkarepo` + - [ ] If this updates the `current` version, run `./update-akka-rs-current-version.sh $VERSION$` + - [ ] otherwise check changes and commit the new version to the local git repository + ``` + cd ~/www + git status + git add api/akka-edge-rs/current api/akka-edge-rs/$VERSION$ + git commit -m "akka-edge-rs $VERSION$" + ``` + +### Announcements + +For important patch releases, and only if critical issues have been fixed: + +- [ ] Send a release notification to [Lightbend discuss](https://discuss.akka.io) +- [ ] Tweet using the [@akkateam](https://twitter.com/akkateam/) account (or ask someone to) about the new release +- [ ] Announce internally (with links to Tweet, discuss) + +For minor or major releases: + +- [ ] Include noteworthy features and improvements in Akka umbrella release announcement at akka.io. Coordinate with PM and marketing. + +### Afterwards + +- [ ] Update version for [Akka module versions](https://doc.akka.io/docs/akka-dependencies/current/) in [akka-dependencies repo](https://github.com/akka/akka-dependencies) +- [ ] Update [Akka Edge Rust samples](https://github.com/lightbend/akka-projection-temp/tree/main/samples/grpc/iot-service-rs) +- [ ] The [Akka Edge Rust guide](https://doc.akka.io/docs/akka-edge/current/guide-rs.html) is released as part of the [Akka Projections documentation](https://github.com/akka/akka-projection/blob/main/RELEASING.md). +- Close this issue diff --git a/scripts/create-release-issue.sh b/scripts/create-release-issue.sh new file mode 100644 index 0000000..c7ea5e0 --- /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.1 +else + sed -e 's/\$VERSION\$/'$VERSION'/g' akka-docs/release-train-issue-template.md > /tmp/release-$VERSION.md + echo Created $(gh issue create --title "Release $VERSION" --body-file /tmp/release-$VERSION.md --milestone $VERSION --web) +fi From 2cc70c6ef33ba556b8b5900dc6eeb9f2d85db33a Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Thu, 25 Jan 2024 10:40:46 +0100 Subject: [PATCH 2/3] fix path to template --- scripts/create-release-issue.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create-release-issue.sh b/scripts/create-release-issue.sh index c7ea5e0..640f0dd 100644 --- a/scripts/create-release-issue.sh +++ b/scripts/create-release-issue.sh @@ -5,6 +5,6 @@ if [ -z $VERSION ] then echo specify the version name to be released, eg. 1.0.1 else - sed -e 's/\$VERSION\$/'$VERSION'/g' akka-docs/release-train-issue-template.md > /tmp/release-$VERSION.md + sed -e 's/\$VERSION\$/'$VERSION'/g' docs/release-train-issue-template.md > /tmp/release-$VERSION.md echo Created $(gh issue create --title "Release $VERSION" --body-file /tmp/release-$VERSION.md --milestone $VERSION --web) fi From a67c0ca1490a057ebcd9b75e91d03537a0f3463c Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Thu, 25 Jan 2024 11:00:01 +0100 Subject: [PATCH 3/3] fix sample link Co-authored-by: Enno Runne <458526+ennru@users.noreply.github.com> --- docs/release-train-issue-template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-train-issue-template.md b/docs/release-train-issue-template.md index 3a4b67b..142a4fe 100644 --- a/docs/release-train-issue-template.md +++ b/docs/release-train-issue-template.md @@ -55,6 +55,6 @@ For minor or major releases: ### Afterwards - [ ] Update version for [Akka module versions](https://doc.akka.io/docs/akka-dependencies/current/) in [akka-dependencies repo](https://github.com/akka/akka-dependencies) -- [ ] Update [Akka Edge Rust samples](https://github.com/lightbend/akka-projection-temp/tree/main/samples/grpc/iot-service-rs) +- [ ] Update [Akka Edge Rust samples](https://github.com/lightbend/akka-projection/tree/main/samples/grpc/iot-service-rs) - [ ] The [Akka Edge Rust guide](https://doc.akka.io/docs/akka-edge/current/guide-rs.html) is released as part of the [Akka Projections documentation](https://github.com/akka/akka-projection/blob/main/RELEASING.md). - Close this issue