Skip to main content

release

Create a release proposal for the v2.x branch by cherry-picking commits from main

Jump to install

Source facts

Repository
DataDog/pprof-format
Last source activity
June 8, 2026 at 15:09
Detected SKILL.md language
English
Stars
8
Forks
4

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
release
description
Create a release proposal for the v2.x branch by cherry-picking commits from main
disable-model-invocation
true
argument-hint
[version (optional, auto-determined from PR labels)]
Create a v2.x release proposal. If a version is provided as $ARGUMENTS, use it. Otherwise, determine it automatically (see step 2). ## Prerequisites The `branch-diff` tool must be installed globally: ``` npm install branch-diff -g ``` ## Steps ### 1. Identify commits to cherry-pick Use the `branch-diff` tool to list commits on `main` not yet applied to `v2.x`: ``` branch-diff v2.x main ``` Review the output with the user. Skip: - Version bump commits (e.g. "Bump package version on to 3.0.0-pre") - Commits that would result in empty cherry-picks (already applied or superseded) Confirm the list of commits with the user before proceeding. ### 2. Determine the version number If the user didn't provide a version, determine it from PR labels. For each commit being cherry-picked, extract the PR number from the commit message (e.g. `(#42)`) and check its labels: ``` gh pr view <number> --json labels --jq '.labels[].name' ``` - If any PR has a `semver-minor` label, the release is a **minor** bump. - If all PRs have at most a `semver-patch` label, the release is a **patch** bump. Get the current version from the tip of `v2.x` (the most recent version commit message), then compute the next version accordingly. Confirm the version with the user. In the steps below, `$VERSION` refers to the determined version number. ### 3. Create a worktree Create a git worktree from the current repo, checking out a new branch `v$VERSION-proposal` based on the `v2.x` branch: ``` git worktree add ../pprof-format-v2 -b v$VERSION-proposal v2.x ``` All subsequent steps run in the worktree directory. ### 4. Cherry-pick commits Cherry-pick the agreed-upon commits in chronological order (oldest first): ``` git cherry-pick <hash1> <hash2> ... ``` If a cherry-pick has conflicts, stop and resolve with the user. ### 5. Create the version bump commit Bump the version in package.json and package-lock.json using npm, then commit: ``` npm version $VERSION --no-git-tag-version git add package.json package-lock.json git commit -m "v$VERSION" ``` ### 6. Push and create a PR Push the branch and create a PR targeting `v2.x`: ``` git push -u origin v$VERSION-proposal ``` Create the PR with `gh pr create --base v2.x`. The PR body should categorize the cherry-picked PRs by type, following this pattern: ```markdown # New features * #NNN # Improvements * #NNN # Bug fixes * #NNN # Other (build, dev) * #NNN ``` Only include sections that have entries. Reference PR numbers from the original commit messages.
View on GitHub