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.md
kotlinx-coroutines-test/README.md
coroutines-guide-ui.md
CHANGES.md
from replacements.As an alternative approach, you can use ./bump-version.sh 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:
version-<version>
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
Propose the website documentation update:
KOTLINX_COROUTINES_RELEASE_TAG
, creating a Pull Request in the website's repository.