To release new <version> of kotlinx-coroutines:
Checkout 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 updated files to a new version branch:
git commit -a -m "Version <version>"
Push the new version into the branch:
git push -u origin version-<version>
Create Pull-Request on GitHub from version-<version> branch into master:
Merge new version branch into master:
git checkout master
git merge version-<version>
git push
On TeamCity integration server:
master branch passes tests.In GitHub interface:
<version>.CHANGES.md into description.Build and publish documentation for web-site (make sure you have Docker installed first):
site/deploy.sh <version> push
In Nexus admin interface:
Announce new release in Slack
Switch into develop branch:
git checkout develop
Fetch the latest master:
git fetch
Merge release from master:
git merge origin/master
Push updates to develop:
git push