Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release issue #140

Merged
merged 3 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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-temp/tree/main/samples/grpc/iot-service-rs)
patriknw marked this conversation as resolved.
Show resolved Hide resolved
- [ ] 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
Loading