3.1 KiB
kotlinx.coroutines release checklist
To release new <version> of kotlinx-coroutines:
-
Checkout
developbranch:
git checkout develop -
Retrieve the most recent
develop:
git pull -
Make sure the
masterbranch is fully merged intodevelop:git merge origin/master -
Search & replace
<old-version>with<version>across the project files. Should replace in:- Docs
README.md(native, core, test, debug, modules)kotlinx-coroutines-debug/README.mdkotlinx-coroutines-test/README.mdcoroutines-guide-ui.md
- Properties
- Make sure to exclude
CHANGES.mdfrom replacements.
As an alternative approach you can use
./bump-version.sh old_version new_version - Docs
-
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.
-
Create the branch for this release:
git checkout -b version-<version> -
Commit updated files to a new version branch:
git commit -a -m "Version <version>" -
Push new version into the branch:
git push -u origin version-<version> -
Create Pull-Request on GitHub from
version-<version>branch intomaster:- Review it.
- Make sure it build on CI.
- Get approval for it.
-
Merge new version branch into
master:
git checkout master
git merge version-<version>
git push -
On TeamCity integration server:
- Wait until "Build" configuration for committed
masterbranch passes tests. - Run "Deploy (Configure, RUN THIS ONE)" configuration with the corresponding new version.
- Wait until "Build" configuration for committed
-
In GitHub interface:
- Create a release named
<version>. - Cut & paste lines from
CHANGES.mdinto description.
- Create a release named
-
Build and publish documentation for web-site (make sure you have Docker installed first):
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
developbranch:
git checkout develop -
Fetch the latest
master:
git fetch -
Merge release from
master:
git merge origin/master -
Push updates to
develop:
git push