Skip to content

Update release instructions to include rc branch #609

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 31, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 29 additions & 20 deletions tools/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,29 +24,32 @@ The following guide uses `v0.11.4rc1` as version for a release candidate,
replace as necessary with your version or remove `rc..` suffix for the
final release.

## 1. Create a RC branch

## 1. Update librdkafka and OpenSSL versions
git checkout -b v0.11.4rc

### 1.1 Update librdkafka version
## 2. Update librdkafka and OpenSSL versions

### 2.1 Update librdkafka version

Change to the latest librdkafka version in the following files:

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

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

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

Commit these changes as necessary:

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


### 1.2 Update OpenSSL version if necessary
### 2.2 Update OpenSSL version if necessary

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


## 2. Update in-source versions
## 3. Update in-source versions

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


## 3. Create a tag
## 4. Create a tag

### 3.1 Create a test tag
### 4.1 Create a test tag

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

$ git tag v0.11.4rc1-test1

Follow the steps in step 4 to push the test tag. When the build is successful,
remove the tag and follow the steps in 3.2 to create a proper tag.
Follow the steps in step 5 to push the test tag. When the build is successful,
remove the tag and follow the steps in 4.2 to create a proper tag.

### 3.2 Create proper tag
### 4.2 Create proper tag

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

$ git tag v0.11.4rc1


## 4. Push tag and commits
## 5. Push tag and commits

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


## 5. Wait for CI builds
## 6. Wait for CI builds

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


## 6. Download build artifacts from S3
## 7. Download build artifacts from S3

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



## 7. Verify packages
## 8. Verify packages

Create a new virtualenv:

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

## 10. Open a release PR

## 11. Merge RC branch into master

Once all builds are successful, artifacts have been validated and a team member has approved the PR
proceed with merging the changes into master. Be sure to tidy up the commit log in the PR branch by
squashing related commits (typos, build fixes, etc)

## 8. Upload packages to PyPi
## 12. Upload packages to PyPi

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

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


## 9. Verify installation from PyPi
## 13. Verify installation from PyPi

In the same virtualenv as created above:

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



## 10. Create github release
## 14. Create github release

If this was the final release, go to
[github releases](https://github.com/confluentinc/confluent-kafka-python/releases)
Expand Down
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