Skip to content

Commit

Permalink
chore: release issue (#140)
Browse files Browse the repository at this point in the history
* chore: release issue

* fix path to template

* fix sample link

Co-authored-by: Enno Runne <[email protected]>

---------

Co-authored-by: Enno Runne <[email protected]>
  • Loading branch information
patriknw and ennru authored Jan 25, 2024
1 parent 37e66d1 commit 7b1ec7b
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 11 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 5 additions & 10 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -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/`<version>`/
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:
Expand Down
60 changes: 60 additions & 0 deletions docs/release-train-issue-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
Release Akka Edge Rust $VERSION$

<!--
# Release Train Issue Template for Akka Edge Rust
(Liberally copied and adopted from Scala itself https://github.com/scala/scala-dev/blob/b11cd2e4a4431de7867db6b39362bea8fa6650e7/notes/releases/template.md)
For every release, use the `scripts/create-release-issue.sh` to make a copy of this file named after the release, and expand the variables.
Variables to be expanded in this template:
- $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/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
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.1
else
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

0 comments on commit 7b1ec7b

Please sign in to comment.