@@ -24,29 +24,32 @@ The following guide uses `v0.11.4rc1` as version for a release candidate,
24
24
replace as necessary with your version or remove ` rc.. ` suffix for the
25
25
final release.
26
26
27
+ ## 1. Create a RC branch
27
28
28
- ## 1. Update librdkafka and OpenSSL versions
29
+ git checkout -b v0.11.4rc
29
30
30
- ### 1.1 Update librdkafka version
31
+ ## 2. Update librdkafka and OpenSSL versions
32
+
33
+ ### 2.1 Update librdkafka version
31
34
32
35
Change to the latest librdkafka version in the following files:
33
36
34
37
* ` .travis.yml `
35
38
* ` .appveyor.yml ` - this is the librdkafka.redist NuGet version,
36
39
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 `
38
41
39
42
Change to the latest version of the confluent-librdkafka-plugins in:
40
43
41
44
* ` tools/install-interceptors.sh ` - edit and change version
42
45
43
46
Commit these changes as necessary:
44
47
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
46
49
$ git commit -m "confluent-librdkafka-plugins version v0.11.0" tools/install-interceptors.sh
47
50
48
51
49
- ### 1 .2 Update OpenSSL version if necessary
52
+ ### 2 .2 Update OpenSSL version if necessary
50
53
51
54
As of v0.11.4 OpenSSL is packaged with the python client. It's important
52
55
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:
59
62
$ git commit -m "OpenSSL version bump to 1.0.2o" tools/build-openssl.sh
60
63
61
64
62
- ## 2 . Update in-source versions
65
+ ## 3 . Update in-source versions
63
66
64
67
There are a number of source files that needs to be updated with the
65
68
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:
77
80
$ git commit -m "Version v0.11.4rc1" confluent_kafka/src/confluent_kafka.c docs/conf.py setup.py
78
81
79
82
80
- ## 3 . Create a tag
83
+ ## 4 . Create a tag
81
84
82
- ### 3 .1 Create a test tag
85
+ ### 4 .1 Create a test tag
83
86
84
87
Packaging is fragile and is only triggered when a tag is pushed. To avoid
85
88
finding out about packaging problems on the RC tag, it is strongly recommended
@@ -88,18 +91,18 @@ be removed after the build passes.
88
91
89
92
$ git tag v0.11.4rc1-test1
90
93
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.
93
96
94
- ### 3 .2 Create proper tag
97
+ ### 4 .2 Create proper tag
95
98
96
99
The tag should be created right after the commit and be named the same as
97
100
the version.
98
101
99
102
$ git tag v0.11.4rc1
100
103
101
104
102
- ## 4 . Push tag and commits
105
+ ## 5 . Push tag and commits
103
106
104
107
Perform a dry-run push first to make sure the correct branch and only our tag
105
108
is pushed.
@@ -114,13 +117,13 @@ An alternative is to push branch and tags separately:
114
117
$ git push --dry-run --tags origin v0.11.4rc1
115
118
116
119
117
- ## 5 . Wait for CI builds
120
+ ## 6 . Wait for CI builds
118
121
119
122
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 )
121
124
122
125
123
- ## 6 . Download build artifacts from S3
126
+ ## 7 . Download build artifacts from S3
124
127
125
128
* Note* : You will need set up your AWS credentials in ` ~/.aws/credentials ` to
126
129
gain access to the S3 bucket.
@@ -134,8 +137,7 @@ artifacts from S3 using:
134
137
The artifacts will be downloaded to ` dl-<tag>/ ` .
135
138
136
139
137
-
138
- ## 7. Verify packages
140
+ ## 8. Verify packages
139
141
140
142
Create a new virtualenv:
141
143
@@ -153,8 +155,15 @@ and librdkafka versions:
153
155
$ python -c 'import confluent_kafka as ck ; print "py:", ck.version(), "c:", ck.libversion()'
154
156
py: ('0.11.4', 721920) c: ('0.11.4-RC1', 722121)
155
157
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)
156
165
157
- ## 8 . Upload packages to PyPi
166
+ ## 12 . Upload packages to PyPi
158
167
159
168
To upload binary packages to test.pypi.org, use:
160
169
@@ -175,7 +184,7 @@ Upload source packages to the proper pypi.org (WARNING!):
175
184
$ python setup.py sdist upload
176
185
177
186
178
- ## 9 . Verify installation from PyPi
187
+ ## 13 . Verify installation from PyPi
179
188
180
189
In the same virtualenv as created above:
181
190
@@ -199,7 +208,7 @@ Verify that the package works and prints the expected version:
199
208
200
209
201
210
202
- ## 10 . Create github release
211
+ ## 14 . Create github release
203
212
204
213
If this was the final release, go to
205
214
[ github releases] ( https://github.com/confluentinc/confluent-kafka-python/releases )
0 commit comments