Skip to content

Commit 18f7743

Browse files
authored
Update release instructions to include RC branch creation and PR review (confluentinc#609)
1 parent a5712c0 commit 18f7743

File tree

1 file changed

+29
-20
lines changed

1 file changed

+29
-20
lines changed

tools/RELEASE.md

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,32 @@ The following guide uses `v0.11.4rc1` as version for a release candidate,
2424
replace as necessary with your version or remove `rc..` suffix for the
2525
final release.
2626

27+
## 1. Create a RC branch
2728

28-
## 1. Update librdkafka and OpenSSL versions
29+
git checkout -b v0.11.4rc
2930

30-
### 1.1 Update librdkafka version
31+
## 2. Update librdkafka and OpenSSL versions
32+
33+
### 2.1 Update librdkafka version
3134

3235
Change to the latest librdkafka version in the following files:
3336

3437
* `.travis.yml`
3538
* `.appveyor.yml` - this is the librdkafka.redist NuGet version,
3639
make sure to strip the leading "v" from the version.
37-
E.g., `0.11.6` rather than `v0.11.6`
40+
E.g., `0.11.4` rather than `v0.11.4`
3841

3942
Change to the latest version of the confluent-librdkafka-plugins in:
4043

4144
* `tools/install-interceptors.sh` - edit and change version
4245

4346
Commit these changes as necessary:
4447

45-
$ git commit -m "librdkafka version v0.11.6" .travis.yml .appveyor.yml
48+
$ git commit -m "librdkafka version v0.11.4" .travis.yml .appveyor.yml
4649
$ git commit -m "confluent-librdkafka-plugins version v0.11.0" tools/install-interceptors.sh
4750

4851

49-
### 1.2 Update OpenSSL version if necessary
52+
### 2.2 Update OpenSSL version if necessary
5053

5154
As of v0.11.4 OpenSSL is packaged with the python client. It's important
5255
that the OpenSSL version is kept up to date with the latest release.
@@ -59,7 +62,7 @@ Commit this change with a commit-message mentioning the version bump:
5962
$ git commit -m "OpenSSL version bump to 1.0.2o" tools/build-openssl.sh
6063

6164

62-
## 2. Update in-source versions
65+
## 3. Update in-source versions
6366

6467
There are a number of source files that needs to be updated with the
6568
new version number, the easiest way to find these is to search for the
@@ -77,9 +80,9 @@ Commit these changes with a commit-message containing the version:
7780
$ git commit -m "Version v0.11.4rc1" confluent_kafka/src/confluent_kafka.c docs/conf.py setup.py
7881

7982

80-
## 3. Create a tag
83+
## 4. Create a tag
8184

82-
### 3.1 Create a test tag
85+
### 4.1 Create a test tag
8386

8487
Packaging is fragile and is only triggered when a tag is pushed. To avoid
8588
finding out about packaging problems on the RC tag, it is strongly recommended
@@ -88,18 +91,18 @@ be removed after the build passes.
8891

8992
$ git tag v0.11.4rc1-test1
9093

91-
Follow the steps in step 4 to push the test tag. When the build is successful,
92-
remove the tag and follow the steps in 3.2 to create a proper tag.
94+
Follow the steps in step 5 to push the test tag. When the build is successful,
95+
remove the tag and follow the steps in 4.2 to create a proper tag.
9396

94-
### 3.2 Create proper tag
97+
### 4.2 Create proper tag
9598

9699
The tag should be created right after the commit and be named the same as
97100
the version.
98101

99102
$ git tag v0.11.4rc1
100103

101104

102-
## 4. Push tag and commits
105+
## 5. Push tag and commits
103106

104107
Perform a dry-run push first to make sure the correct branch and only our tag
105108
is pushed.
@@ -114,13 +117,13 @@ An alternative is to push branch and tags separately:
114117
$ git push --dry-run --tags origin v0.11.4rc1
115118

116119

117-
## 5. Wait for CI builds
120+
## 6. Wait for CI builds
118121

119122
Monitor travis-ci builds by looking atthe *tag* build at
120-
[travis-ci]https://travis-ci.org/confluentinc/confluent-kafka-python
123+
[travis-ci](https://travis-ci.org/confluentinc/confluent-kafka-python)
121124

122125

123-
## 6. Download build artifacts from S3
126+
## 7. Download build artifacts from S3
124127

125128
*Note*: You will need set up your AWS credentials in `~/.aws/credentials` to
126129
gain access to the S3 bucket.
@@ -134,8 +137,7 @@ artifacts from S3 using:
134137
The artifacts will be downloaded to `dl-<tag>/`.
135138

136139

137-
138-
## 7. Verify packages
140+
## 8. Verify packages
139141

140142
Create a new virtualenv:
141143

@@ -153,8 +155,15 @@ and librdkafka versions:
153155
$ python -c 'import confluent_kafka as ck ; print "py:", ck.version(), "c:", ck.libversion()'
154156
py: ('0.11.4', 721920) c: ('0.11.4-RC1', 722121)
155157

158+
## 10. Open a release PR
159+
160+
## 11. Merge RC branch into master
161+
162+
Once all builds are successful, artifacts have been validated and a team member has approved the PR
163+
proceed with merging the changes into master. Be sure to tidy up the commit log in the PR branch by
164+
squashing related commits (typos, build fixes, etc)
156165

157-
## 8. Upload packages to PyPi
166+
## 12. Upload packages to PyPi
158167

159168
To upload binary packages to test.pypi.org, use:
160169

@@ -175,7 +184,7 @@ Upload source packages to the proper pypi.org (WARNING!):
175184
$ python setup.py sdist upload
176185

177186

178-
## 9. Verify installation from PyPi
187+
## 13. Verify installation from PyPi
179188

180189
In the same virtualenv as created above:
181190

@@ -199,7 +208,7 @@ Verify that the package works and prints the expected version:
199208

200209

201210

202-
## 10. Create github release
211+
## 14. Create github release
203212

204213
If this was the final release, go to
205214
[github releases](https://github.com/confluentinc/confluent-kafka-python/releases)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy