Skip to content

Release process for StreamNative's Pulsar CPP client

Yunze Xu edited this page Dec 16, 2022 · 1 revision

Checkout the branch

If the branch-x.y already exists, just checkout this branch.

git clone [email protected]:streamnative/pulsar-client-cpp.git
cd pulsar-client-cpp/
git checkout branch-x.y

Otherwise, you should create the branch and synchronized with the Apache repo.

git remote add apache [email protected]:apache/pulsar-client-cpp.git
git fetch apache
git checkout -b branch-x.y apache/branch-x.y
git push origin branch-x.y

If the branch already exists, you can click the Sync fork button to synchronized the latest commits.

If you have some customized commits that are not committed to the Apache repo, use git cherry-pick command to cherry-pick commits from the original branch.

Prepare a release

There is a fourth version number comparing to the official Apache Pulsar C++ client. For example, x.y.z.m is based on branch-x.y, which should be synchronized with the same branch in Apache's repo.

# Make sure it's based on branch-x.y 
git checkout -b branch-x.y.z.m
# Modify the version
echo "x.y.z.m" > version.txt
git add version.txt
git commit -m "Bump version to x.y.z.m"
git tag vx.y.z.m
git push origin vx.y.z.m

After the tag is pushed, you can find the following two workflows that build the artifacts:

Upload the artifacts

The artifacts would be available to download after the workflows finished.

You need to download them and upload the artifacts to the release page.

TODO: Take v3.1.0.1 as example

Clone this wiki locally