To release new <version>
of kotlinx-coroutines
:
-
Checkout
master
branch:
git checkout master
-
Retrieve the most recent
master
:
git pull
-
Merge
develop
branch untomaster
:
git merge origin/develop
-
Search & replace
<old-version>
with<version>
across the project files. Should replace in:README.md
coroutines-guide.md
gradle.properties
ui/kotlinx-coroutines-android/example-app/gradle.properties
ui/kotlinx-coroutines-android/animation-app/gradle.properties
- Make sure to exclude
CHANGES.md
from replacements.
-
Write release notes in
CHANGES.md
:- Use old releases as example of style.
- Write each change on a single line (don't wrap with CR).
- Study commit message from previous release.
-
Commit updated files for new version:
git commit -a -m "Version <version>"
-
Push new version into
master
:
git push
-
On TeamCity integration server:
- Wait until "Build" configuration for committed
master
branch passes tests. - Run "Deploy" configuration with the corresponding new version.
- Wait until "Build" configuration for committed
-
In GitHub interface:
- Create new release named as
<version>
. - Cut & paste lines from
CHANGES.md
into description.
- Create new release named as
-
Build and publish documentation for web-site:
site/deploy.sh <version> push
-
In Bintray admin interface:
- Publish artifacts of the new version.
- Wait until newly published version becomes the most recent.
- Sync to Maven Central.
-
Announce new release in Slack
-
Switch into
develop
branch:
git checkout develop
-
Merge release from
master
:
git merge master
-
Push updates to
develop
:
git push