Skip to content

Conversation

@JackPGreen
Copy link
Contributor

@JackPGreen JackPGreen commented Nov 7, 2025

Partially automates the steps listed in the C++ Client Release Process documentation.

Specifically, steps:

  • Create branch
  • Update next version

By scripting and chaining the steps, the (manual) release work is reduced and consistency is improved.

Testing (in my fork):

Post-merge actions:

  • update docs

Partially addresses: DI-669

…tes [DI-669]

_Partially_ automates the steps listed in [the `C++ Client Release Process` documentation](https://hazelcast.atlassian.net/wiki/spaces/HZC/pages/129810774/C+Client+Release+Process).

Specifically, steps:
- `Create branch`
- `Update next version`

By scripting and chaining the steps, the (manual) release work is reduced and consistency is improved.

Testing (in my fork):
- [example execution](https://github.com/JackPGreen/hazelcast-cpp-client/actions/runs/19166496611)
- [branch created](https://github.com/JackPGreen/hazelcast-cpp-client/tree/5.5.0)
- [version update PR raised](#5)

Post-merge actions:
- [ ] update docs

_Partially addresses_: [DI-669](https://hazelcast.atlassian.net/browse/DI-669)
@JackPGreen JackPGreen requested a review from nishaatr November 7, 2025 13:44
nishaatr
nishaatr previously approved these changes Nov 7, 2025
Copy link
Contributor

@nishaatr nishaatr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good from my side
if we keep using PR its fine but still would prefer direct push

@JackPGreen
Copy link
Contributor Author

Good from my side if we keep using PR its fine but still would prefer direct push

I'll raise on the standup next week. It's probably a wider issue than the C++ client.

Co-authored-by: Łukasz Dziedziul <l.dziedziul@gmail.com>
nishaatr
nishaatr previously approved these changes Nov 10, 2025
Copy link
Contributor

@nishaatr nishaatr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@JackPGreen
Copy link
Contributor Author

image

Might've got carried away with find and replace...

35c32ca

@JackPGreen JackPGreen requested a review from nishaatr November 12, 2025 10:12
Copy link
Contributor

@nishaatr nishaatr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

forgot to mention about maintenance branch
here it says create z-branch
wondering if z-branch is actually used or how frequently! may be no need

@JackPGreen
Copy link
Contributor Author

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

@JackPGreen
Copy link
Contributor Author

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

Actually, I think this is wrong.

It doesn't say to create z-branch - it says to create a release branch from one of the branches (master, z etc).
Where the z branch is created is absent from the docs so is out of scope for now.
But It means the existing implementation was fine, so reverted.

9c8fb84

@ihsandemir
Copy link
Collaborator

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

Actually, I think this is wrong.

It doesn't say to create z-branch - it says to create a release branch from one of the branches (master, z etc). Where the z branch is created is absent from the docs so is out of scope for now. But It means the existing implementation was fine, so reverted.

9c8fb84

Having the 5.6.z auto created may be a good practice, since normally we should always backport the bug fixes as possible and when you want to do it, the branch would be ready. What is the practice at platform releases? We can use the same approach.

ihsandemir
ihsandemir previously approved these changes Nov 13, 2025
@JackPGreen
Copy link
Contributor Author

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

Actually, I think this is wrong.
It doesn't say to create z-branch - it says to create a release branch from one of the branches (master, z etc). Where the z branch is created is absent from the docs so is out of scope for now. But It means the existing implementation was fine, so reverted.
9c8fb84

Having the 5.6.z auto created may be a good practice, since normally we should always backport the bug fixes as possible and when you want to do it, the branch would be ready. What is the practice at platform releases? We can use the same approach.

Probably one for @nishaatr to answer.

@JackPGreen JackPGreen requested a review from nishaatr November 13, 2025 12:53
@nishaatr
Copy link
Contributor

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

Actually, I think this is wrong.
It doesn't say to create z-branch - it says to create a release branch from one of the branches (master, z etc). Where the z branch is created is absent from the docs so is out of scope for now. But It means the existing implementation was fine, so reverted.
9c8fb84

Having the 5.6.z auto created may be a good practice, since normally we should always backport the bug fixes as possible and when you want to do it, the branch would be ready. What is the practice at platform releases? We can use the same approach.

Probably one for @nishaatr to answer.

In Platform z-branch is created for MAJOR/MINOR. It will also updates version in master (MAJOR/MINOR ) and z-branch (PATCH). This is all automatic based on the supplied release type

prefer its automated here. So if BRANCH_NAME ends with .z then don't create z-branch, otherwise create one
then update z-branch version to the next version (@ihsandemir is this correct?). For master we have this step

@JackPGreen
Copy link
Contributor Author

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

Actually, I think this is wrong.
It doesn't say to create z-branch - it says to create a release branch from one of the branches (master, z etc). Where the z branch is created is absent from the docs so is out of scope for now. But It means the existing implementation was fine, so reverted.
9c8fb84

Having the 5.6.z auto created may be a good practice, since normally we should always backport the bug fixes as possible and when you want to do it, the branch would be ready. What is the practice at platform releases? We can use the same approach.

Probably one for @nishaatr to answer.

In Platform z-branch is created for MAJOR/MINOR. It will also updates version in master (MAJOR/MINOR ) and z-branch (PATCH). This is all automatic based on the supplied release type

prefer its automated here. So if BRANCH_NAME ends with .z then don't create z-branch, otherwise create one then update z-branch version to the next version (@ihsandemir is this correct?). For master we have this step

I think we can talk about z branch creation, but I'd like to do so seperately.
This PR automates an existing process - I don't want to confuse adding a new process at the same time.

By all means raise an issue in this repo so we can keep the discussion going?

@nishaatr
Copy link
Contributor

forgot to mention about maintenance branch here it says create z-branch wondering if z-branch is actually used or how frequently! may be no need

Good point. I've added the optional ability to supply a branch name in 22533ba

Actually, I think this is wrong.
It doesn't say to create z-branch - it says to create a release branch from one of the branches (master, z etc). Where the z branch is created is absent from the docs so is out of scope for now. But It means the existing implementation was fine, so reverted.
9c8fb84

Having the 5.6.z auto created may be a good practice, since normally we should always backport the bug fixes as possible and when you want to do it, the branch would be ready. What is the practice at platform releases? We can use the same approach.

Probably one for @nishaatr to answer.

In Platform z-branch is created for MAJOR/MINOR. It will also updates version in master (MAJOR/MINOR ) and z-branch (PATCH). This is all automatic based on the supplied release type
prefer its automated here. So if BRANCH_NAME ends with .z then don't create z-branch, otherwise create one then update z-branch version to the next version (@ihsandemir is this correct?). For master we have this step

I think we can talk about z branch creation, but I'd like to do so seperately. This PR automates an existing process - I don't want to confuse adding a new process at the same time.

By all means raise an issue in this repo so we can keep the discussion going?

kind of is existing process

image

but oddly towards the end + plus uses tag for some reason - so different to Platform

Also, looks like 5.6.z was never created (so this definitely begs automatation)
image

no issue to do in another PR. I have raised #1371

@JackPGreen
Copy link
Contributor Author

kind of is existing process

Sorry - I'd completely missed that it was already in the instructions as the stemp name was unclear. In hindsight that + milestones are pretty easy to automate. But let's do it one step at a time...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants