To release a new <version> of kotlinx-coroutines:
Checkout the develop branch:
git checkout develop
Retrieve the most recent develop:
git pull
Make sure the master branch is fully merged into develop: git merge origin/master
Search & replace <old-version> with <version> across the project files. Should replace in:
README.md (native, core, test, debug, modules)kotlinx-coroutines-debug/README.mdkotlinx-coroutines-test/README.mdcoroutines-guide-ui.mdCHANGES.md from replacements.As an alternative approach, you can use ./bump-version.sh old_version new_version
Write release notes in CHANGES.md:
Create the branch for this release: git checkout -b version-<version>
Commit the updated files to the new version branch:
git commit -a -m "Version <version>"
Push the new version to GitHub:
git push -u origin version-<version>
Create a Pull-Request on GitHub from the version-<version> branch into master:
On TeamCity integration server:
master branch passes tests.version-<version> branchDeployVersion build parameter to <version>In Nexus admin interface:
Merge the new version branch into master:
git checkout master
git merge version-<version>
git push
In GitHub interface:
<version>, creating the <version> tag.CHANGES.md into description.Announce the new release in Slack
Switch onto the develop branch:
git checkout develop
Fetch the latest master:
git fetch
Merge the release from master:
git merge origin/master
Push the updates to GitHub:
git push
Build and publish the documentation for the web-site:
kotlinx.coroutines.release.tag