Skip to content

[CNSL-2134] Add pending deploy branch management to release workflow - #104

Merged
linhcrl merged 1 commit into
cockroachdb:mainfrom
linhcrl:post-release-branch-management
May 15, 2026
Merged

[CNSL-2134] Add pending deploy branch management to release workflow#104
linhcrl merged 1 commit into
cockroachdb:mainfrom
linhcrl:post-release-branch-management

Conversation

@linhcrl

@linhcrl linhcrl commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

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.

Example job run when no open PRs: https://github.com/cockroachlabs/cockroach-cloud-sdk-go-automation-testing/actions/runs/25906490925/job/76141363111

@linhcrl
linhcrl force-pushed the post-release-branch-management branch from 8bbde80 to eefdec9 Compare April 10, 2026 13:47
@linhcrl linhcrl changed the title [CNSL-2134] Add pending deploy branch management to release workflow [CNSL-2134] Add post-release pending deploy branch management Apr 13, 2026
@linhcrl
linhcrl force-pushed the post-release-branch-management branch from eefdec9 to aabd8e8 Compare April 13, 2026 15:20
@linhcrl
linhcrl force-pushed the post-release-branch-management branch 3 times, most recently from 6a039e6 to f674bab Compare April 27, 2026 16:32
@linhcrl
linhcrl requested a review from fantapop April 27, 2026 16:34

@fantapop fantapop left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

done!

@linhcrl
linhcrl force-pushed the post-release-branch-management branch 2 times, most recently from b3a53cb to 7d67747 Compare May 1, 2026 23:59
@linhcrl
linhcrl force-pushed the post-release-branch-management branch 3 times, most recently from 8822a06 to 4a3f39f Compare May 8, 2026 18:49
@linhcrl linhcrl changed the title [CNSL-2134] Add post-release pending deploy branch management [CNSL-2134] Add pending deploy branch management to release workflow May 8, 2026
@linhcrl
linhcrl force-pushed the post-release-branch-management branch 5 times, most recently from 066adca to a8292e9 Compare May 12, 2026 19:35
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
linhcrl force-pushed the post-release-branch-management branch from a8292e9 to e3c2bab Compare May 15, 2026 04:18
@linhcrl
linhcrl merged commit 38d5ac8 into cockroachdb:main May 15, 2026
1 check passed
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.

2 participants