[CNSL-2134] Add pending deploy branch management to release workflow - #104
Merged
Merged
Conversation
linhcrl
force-pushed
the
post-release-branch-management
branch
from
April 10, 2026 13:47
8bbde80 to
eefdec9
Compare
linhcrl
force-pushed
the
post-release-branch-management
branch
from
April 13, 2026 15:20
eefdec9 to
aabd8e8
Compare
linhcrl
force-pushed
the
post-release-branch-management
branch
3 times, most recently
from
April 27, 2026 16:32
6a039e6 to
f674bab
Compare
fantapop
approved these changes
Apr 29, 2026
fantapop
left a comment
Contributor
There was a problem hiding this comment.
This all seems pretty reasonable to me. I don't have a good feeling on whether it will work. It's a lot of bash inlined in strings to be looking at. I think it would benefit from pulling out into functions and having tests for it but given that our timeline is pretty short, I'm okay pushing that off for later in case we have trouble maintaining it.
I did add one comment about documenting better overall what the workflow does at the top level.
| -f event_type=sdk-release \ | ||
| -f "client_payload[version]=${{ steps.autotag.outputs.tag }}" | ||
|
|
||
| manage-pending-deploy: |
Contributor
There was a problem hiding this comment.
Can you comment a high level overview of how this works here? The Step comments are helpful but they feel piecemeal and it's hard to get an overall understanding of what we're doing here by following them.
linhcrl
force-pushed
the
post-release-branch-management
branch
2 times, most recently
from
May 1, 2026 23:59
b3a53cb to
7d67747
Compare
linhcrl
force-pushed
the
post-release-branch-management
branch
3 times, most recently
from
May 8, 2026 18:49
8822a06 to
4a3f39f
Compare
linhcrl
force-pushed
the
post-release-branch-management
branch
5 times, most recently
from
May 12, 2026 19:35
066adca to
a8292e9
Compare
After a successful release (tag creation), the workflow now automatically manages pending deploy branches: - Finds the most recent merged PR with an automation/pending-deploy-YYYYMMDD-hhmmss head branch to identify what the last pending deploy branch was - Compares its timestamp with any current live pending deploy branch - Creates a new pending deploy branch if a newer one was already merged to main (indicating the current live branch is stale), or if none exists - Retargets all open PRs from old pending deploy branches to the current one. (As of now, workflow does not resolve conflicts caused by this.) This ensures that after each release, there's always a fresh pending deploy branch based on the latest main, and PRs are automatically pointed to the right target. Co-authored-by: roachdev-claude <roachdev-claude-bot@cockroachlabs.com>
linhcrl
force-pushed
the
post-release-branch-management
branch
from
May 15, 2026 04:18
a8292e9 to
e3c2bab
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After a successful release (tag creation), the workflow now automatically manages pending deploy branches:
This ensures that after each release, there's always a fresh pending deploy branch based on the latest main, and PRs are automatically pointed to the right target.
Example job run when no open PRs: https://github.com/cockroachlabs/cockroach-cloud-sdk-go-automation-testing/actions/runs/25906490925/job/76141363111