Skip to content

Commit d220071

Browse files
authored
Update the documentation for the release procedure (#3076)
1 parent e0a080c commit d220071

File tree

1 file changed

+46
-44
lines changed

1 file changed

+46
-44
lines changed

RELEASE.md

+46-44
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,80 @@
11
# kotlinx.coroutines release checklist
22

3-
To release new `<version>` of `kotlinx-coroutines`:
3+
To release a new `<version>` of `kotlinx-coroutines`:
44

5-
1. Checkout `develop` branch: <br>
5+
1. Checkout the `develop` branch: <br>
66
`git checkout develop`
77

8-
2. Retrieve the most recent `develop`: <br>
8+
2. Retrieve the most recent `develop`: <br>
99
`git pull`
10-
10+
1111
3. Make sure the `master` branch is fully merged into `develop`:
12-
`git merge origin/master`
12+
`git merge origin/master`
1313

1414
4. Search & replace `<old-version>` with `<version>` across the project files. Should replace in:
1515
* Docs
1616
* [`README.md`](README.md) (native, core, test, debug, modules)
1717
* [`kotlinx-coroutines-debug/README.md`](kotlinx-coroutines-debug/README.md)
1818
* [`kotlinx-coroutines-test/README.md`](kotlinx-coroutines-test/README.md)
1919
* [`coroutines-guide-ui.md`](ui/coroutines-guide-ui.md)
20-
* Properties
21-
* [`gradle.properties`](gradle.properties)
20+
* Properties
21+
* [`gradle.properties`](gradle.properties)
2222
* Make sure to **exclude** `CHANGES.md` from replacements.
23-
24-
As an alternative approach you can use `./bump-version.sh old_version new_version`
25-
23+
24+
As an alternative approach, you can use `./bump-version.sh old_version new_version`
25+
2626
5. Write release notes in [`CHANGES.md`](CHANGES.md):
27-
* Use old releases as example of style.
27+
* Use the old releases for style guidance.
2828
* Write each change on a single line (don't wrap with CR).
29-
* Study commit message from previous release.
29+
* Look through the commit messages since the previous release.
3030

3131
6. Create the branch for this release:
3232
`git checkout -b version-<version>`
3333

34-
7. Commit updated files to a new version branch:<br>
34+
7. Commit the updated files to the new version branch:<br>
3535
`git commit -a -m "Version <version>"`
36-
37-
8. Push the new version into the branch:<br>
36+
37+
8. Push the new version to GitHub:<br>
3838
`git push -u origin version-<version>`
39-
40-
9. Create Pull-Request on GitHub from `version-<version>` branch into `master`:
39+
40+
9. Create a Pull-Request on GitHub from the `version-<version>` branch into `master`:
4141
* Review it.
42-
* Make sure it build on CI.
42+
* Make sure it builds on CI.
4343
* Get approval for it.
44-
45-
0. Merge new version branch into `master`:<br>
46-
`git checkout master`<br>
47-
`git merge version-<version>`<br>
48-
`git push`
4944

50-
1. On [TeamCity integration server](https://teamcity.jetbrains.com/project.html?projectId=KotlinTools_KotlinxCoroutines):
45+
0. On [TeamCity integration server](https://teamcity.jetbrains.com/project.html?projectId=KotlinTools_KotlinxCoroutines):
5146
* Wait until "Build" configuration for committed `master` branch passes tests.
52-
* Run "Deploy (Configure, RUN THIS ONE)" configuration with the corresponding new version.
47+
* Run "Deploy (Configure, RUN THIS ONE)" configuration with the corresponding new version:
48+
- Use the `version-<version>` branch
49+
- Set the `DeployVersion` build parameter to `<version>`
50+
* Wait until all four "Deploy" configurations finish.
5351

54-
2. In [GitHub](https://github.com/kotlin/kotlinx.coroutines) interface:
55-
* Create a release named `<version>`.
56-
* Cut & paste lines from [`CHANGES.md`](CHANGES.md) into description.
57-
58-
3. Build and publish documentation for web-site
59-
(make sure you have [Docker](https://www.docker.com/) installed first): <br>
60-
`site/deploy.sh <version> push`
61-
62-
4. In [Nexus](https://oss.sonatype.org/#stagingRepositories) admin interface:
52+
1. In [Nexus](https://oss.sonatype.org/#stagingRepositories) admin interface:
6353
* Close the repository and wait for it to verify.
6454
* Release the repository.
65-
66-
5. Announce new release in [Slack](https://kotlinlang.slack.com)
6755

68-
6. Switch into `develop` branch:<br>
56+
2. Merge the new version branch into `master`:<br>
57+
`git checkout master`<br>
58+
`git merge version-<version>`<br>
59+
`git push`
60+
61+
3. In [GitHub](https://github.com/kotlin/kotlinx.coroutines) interface:
62+
* Create a release named `<version>`, creating the `<version>` tag.
63+
* Cut & paste lines from [`CHANGES.md`](CHANGES.md) into description.
64+
65+
4. Build and publish the documentation for the web-site: <br>
66+
`site/deploy.sh <version> push`
67+
68+
5. Announce the new release in [Slack](https://kotlinlang.slack.com)
69+
70+
6. Switch onto the `develop` branch:<br>
6971
`git checkout develop`
70-
72+
7173
7. Fetch the latest `master`:<br>
72-
`git fetch`
73-
74-
8. Merge release from `master`:<br>
74+
`git fetch`
75+
76+
8. Merge the release from `master`:<br>
7577
`git merge origin/master`
76-
77-
9. Push updates to `develop`:<br>
78-
`git push`
78+
79+
9. Push the updates to GitHub:<br>
80+
`git push`

0 commit comments

Comments
 (0)