@@ -24,29 +24,32 @@ The following guide uses `v0.11.4rc1` as version for a release candidate,
2424replace as necessary with your version or remove ` rc.. ` suffix for the
2525final 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
3235Change 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
3942Change to the latest version of the confluent-librdkafka-plugins in:
4043
4144 * ` tools/install-interceptors.sh ` - edit and change version
4245
4346Commit 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
5154As of v0.11.4 OpenSSL is packaged with the python client. It's important
5255that 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
6467There are a number of source files that needs to be updated with the
6568new 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
8487Packaging is fragile and is only triggered when a tag is pushed. To avoid
8588finding 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
9699The tag should be created right after the commit and be named the same as
97100the version.
98101
99102 $ git tag v0.11.4rc1
100103
101104
102- ## 4 . Push tag and commits
105+ ## 5 . Push tag and commits
103106
104107Perform a dry-run push first to make sure the correct branch and only our tag
105108is 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
119122Monitor 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:
134137The artifacts will be downloaded to ` dl-<tag>/ ` .
135138
136139
137-
138- ## 7. Verify packages
140+ ## 8. Verify packages
139141
140142Create 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
159168To 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
180189In 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
204213If this was the final release, go to
205214[ github releases] ( https://github.com/confluentinc/confluent-kafka-python/releases )
0 commit comments