name: cherry-pick description: Cherry-pick a commit from main to a Sui release branch, create the release PR, and report the PR URL.
Cherry-pick to Release Branch
Cherry-picks a commit from main to a release branch and creates a PR.
Usage
/cherry-pick <commit-sha> <release-version>
Example: /cherry-pick abc123 1.64
Arguments
$ARGUMENTS should contain two space-separated values:
- The commit SHA to cherry-pick
- The release version number (e.g., "1.64" or "1.65")
Instructions
Parse the arguments to extract the commit SHA and release version. If arguments are missing or unclear, ask the user for clarification.
Execute the following steps:
1. Validate the commit exists
git show --oneline --no-patch <commit-sha>
Save the commit message for use in the PR title.
2. Fetch and checkout the release branch
The release branch naming convention is releases/sui-v<version>.0-release.
git fetch origin releases/sui-v<version>.0-release
git checkout releases/sui-v<version>.0-release
3. Cherry-pick the commit
git cherry-pick <commit-sha>
If there are conflicts:
- Inform the user about the conflicts
- Help them resolve the conflicts if they want
- After resolution, run
git cherry-pick --continue
4. Create a branch for the PR
Use the naming convention cherry-pick-<short-sha>-to-<version>:
git checkout -b cherry-pick-<short-sha>-to-<version>
5. Push the branch
git push -u origin cherry-pick-<short-sha>-to-<version>
6. Create the PR
Create a PR targeting the release branch:
gh pr create --base releases/sui-v<version>.0-release \
--title "[<version>] <original-commit-message>" \
--body "## Summary
Cherry-pick of <original-pr-link-if-available> to the <version> release branch.
Original commit: <full-commit-sha>"
7. Return to main
git checkout main