skillby zenml-io

zenml-backport

Backport docs/examples changes to a pre-existing ZenML release. Use when changes merged to `develop` need to be reflected in a live release version. Triggers include "backport", "cherry-pick to release", "update release docs", or when docs/examples changes need to be applied to an existing release branch.

Installs: 0
Used in: 1 repos
Updated: 1d ago
$npx ai-builder add skill zenml-io/zenml-backport

Installs to .claude/skills/zenml-backport/

# ZenML Backport Workflow

Backporting applies changes from `develop` to a live release. Only docs and examples can be backported (not `src/` changes, which require a new release).

## Inputs Required

Before starting, gather:
1. **Target release version** (e.g., `0.5.7`)
2. **Commit SHAs** from `develop` to backport (get via `git log origin/develop`)

## Workflow Steps

### Step 1: Create Backport Branch

```bash
git fetch
git checkout release/<VERSION>
git pull
git checkout -b backport/<descriptive-name>
```

### Step 2: Cherry-pick Commits

For each commit SHA from develop:

```bash
git cherry-pick -x <commit-sha>
```

The `-x` flag adds a reference to the original commit in the cherry-pick message.

If conflicts occur, resolve them, then:

```bash
git add .
git cherry-pick --continue
```

### Step 3: Push and Create PR

```bash
git push -u origin backport/<descriptive-name>
```

Create PR against `release/<VERSION>` (NOT `develop` or `main`):
- **Base branch**: `release/<VERSION>`
- **Labels**: Add `backport`, `no-release-notes`, `internal`
- **Reviewers**: None required

Use GitHub CLI if available:

```bash
gh pr create \
  --base release/<VERSION> \
  --title "Backport: <description>" \
  --body "Backports commits from develop to release/<VERSION>" \
  --label backport --label no-release-notes --label internal
```

### Step 4: Sync to Main (Manual - Hamza Only)

⚠️ **STOP HERE** - The final sync from `release/<VERSION>` to `main` requires htahir1 (Hamza) to perform:

```bash
git fetch
git checkout main
git pull
git reset --hard origin/release/<VERSION>
git push --force
```

**Tell the user**: "The backport PR is ready. Once merged, Hamza (htahir1) needs to force-push `release/<VERSION>` to `main` to complete the sync."

Quick Install

$npx ai-builder add skill zenml-io/zenml-backport

Details

Type
skill
Author
zenml-io
Slug
zenml-io/zenml-backport
Created
2d ago