Skip to content

Latest commit

 

History

History
81 lines (60 loc) · 3.12 KB

RELEASE.md

File metadata and controls

81 lines (60 loc) · 3.12 KB

kotlinx.coroutines release checklist

To release a new <version> of kotlinx-coroutines:

  1. Checkout the develop branch:
    git checkout develop

  2. Retrieve the most recent develop:
    git pull

  3. Make sure the master branch is fully merged into develop: git merge origin/master

  4. Search & replace <old-version> with <version> across the project files. Should replace in:

    As an alternative approach, you can use ./bump-version.sh new_version

  5. Write release notes in CHANGES.md:

    • Use the old releases for style guidance.
    • Write each change on a single line (don't wrap with CR).
    • Look through the commit messages since the previous release.
  6. Create the branch for this release: git checkout -b version-<version>

  7. Commit the updated files to the new version branch:
    git commit -a -m "Version <version>"

  8. Push the new version to GitHub:
    git push -u origin version-<version>

  9. Create a Pull-Request on GitHub from the version-<version> branch into master:

    • Review it.
    • Make sure it builds on CI.
    • Get approval for it.
  10. On TeamCity integration server:

    • Wait until "Build" configuration for committed version-<version> branch passes tests.
    • Run "Deploy (Configure, RUN THIS ONE)" configuration with the corresponding new version:
      • Use the version-<version> branch
      • Set the DeployVersion build parameter to <version>
    • Wait until all four "Deploy" configurations finish.
  11. In Nexus admin interface:

    • Close the repository and wait for it to verify.
    • Release the repository.
  12. Merge the new version branch into master:
    git checkout master
    git merge version-<version>
    git push

  13. In GitHub interface:

    • Create a release named <version>, creating the <version> tag.
    • Cut & paste lines from CHANGES.md into description.
  14. Announce the new release in Slack

  15. Switch onto the develop branch:
    git checkout develop

  16. Fetch the latest master:
    git fetch

  17. Merge the release from master:
    git merge origin/master

  18. Push the updates to GitHub:
    git push

  19. Propose the website documentation update: