Skip to content

Add cherry-pick-to-release skill#6088

Open
guhetier wants to merge 3 commits into
mainfrom
guhetier/cherry_pick_skill_copilot
Open

Add cherry-pick-to-release skill#6088
guhetier wants to merge 3 commits into
mainfrom
guhetier/cherry_pick_skill_copilot

Conversation

@guhetier

@guhetier guhetier commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds a new project skill, cherry-pick-to-release to facilitate cherry-picking PRs to release branches.

Testing

Multiple cherry-pick PRs created with the skill

Documentation

N/A

guhetier and others added 2 commits June 11, 2026 12:44
Encodes the patterns the project uses when back-porting PRs from main to
release branches (release/2.4, release/2.5, ...), derived from ~30 recent
cherry-pick PRs and commits on those branches:

- PR title format: [CP] <orig title> (#<orig_pr>)
- Branch naming: <user>/cp_<short_desc>_<X_Y>
- One PR per release branch
- Standard MsQuic PR template body referencing the original PR
- CLOG / dotnet regeneration when traces or src/inc/ are touched
- No git cherry-pick -x trailers (not used by the project)
- Open PRs as draft; never push without explicit user permission

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Per maintainer guidance, the cherry-pick skill now requires:

- The PR body must be the exact original PR description verbatim. Only a
  short 'Cherry-pick of #<orig_pr>' prefix line and an optional companion
  PR cross-reference are allowed outside the verbatim body.
- Phase 5 (build + run relevant tests locally) is now required for every
  cherry-pick, not just ones with conflicts. Auto-merged hunks can still
  silently produce wrong code.

Self-verification checklist and anti-patterns updated accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.48%. Comparing base (bcdb8c8) to head (20ee853).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6088      +/-   ##
==========================================
- Coverage   86.11%   85.48%   -0.63%     
==========================================
  Files          60       60              
  Lines       18841    18841              
==========================================
- Hits        16225    16107     -118     
- Misses       2616     2734     +118     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Maintainer-driven cleanup of the cherry-pick-to-release skill:

- PR body must be the original PR body verbatim, with no additions
  (no cherry-pick prefix line, no companion-PR cross-reference).
- Title variants (\[CP v2.5]\, \CP:\, \Cherry-pick:\, multi-PR titles)
  removed; \[CP] <orig title> (#<orig_pr>)\ is the only accepted form.
- Branch naming generalized to \<user>/cp_<short_desc>_<X_Y>_copilot\
  (no longer hard-coded to \guhetier/\).
- Phase 6 now requires showing the user a structured summary
  (original PR, target branch, branch name, PR title, build/test status)
  before asking for permission to push.
- Minor trimming of redundant guidance throughout (build-system smoke
  tests, OpenSSL/QuicTLS extra build hint, test back-port wording, etc.).
- Fixed missing closing quote in YAML frontmatter \description\.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@guhetier guhetier marked this pull request as ready for review June 11, 2026 21:27
@guhetier guhetier requested a review from a team as a code owner June 11, 2026 21:27
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.

1 participant