Files
openclaw/docs/reference/pipeline.md
2026-02-07 09:02:48 -08:00

3.5 KiB

Release Pipeline

This document describes openclaw's staged release pipeline for contributors and maintainers.

Branch Strategy

dev/* ──────► develop ──────► alpha ──────► beta ──────► main
feature/*         │              │            │            │
fix/*             │              │            │            │
                  ▼              ▼            ▼            ▼
              Internal       Alpha         Beta        Stable
              testing      testers       testers      release

Branch Purposes

Branch Purpose npm tag Who uses it
dev/*, feature/*, fix/* Active development - Contributors
develop Integration branch - CI validation
alpha Early testing @alpha Internal testers
beta Pre-release testing @beta Beta testers
main Production releases @latest Everyone

Workflow Overview

1. Feature Development

  1. Create a branch: git checkout -b dev/my-feature
  2. Make changes and push
  3. Auto-PR created to develop via feature-pr.yml
  4. Get review, iterate, merge to develop

2. Promotion Through Stages

When code lands in develop, the promote-branch.yml workflow:

  1. Runs tests appropriate for that stage
  2. Creates a PR to the next branch (develop → alpha → beta → main)
  3. Auto-merges develop → alpha if tests pass
  4. Requires manual approval for alpha → beta and beta → main

3. Releases

Releases are triggered manually via the Release workflow:

  1. Go to Actions → Release → Run workflow
  2. Select release type: alpha, beta, or stable
  3. Workflow runs: version bump → changelog → tests → npm publish → Docker push

Test Coverage by Stage

Stage Tests Run
develop tsgo, lint, format, protocol, unit tests (Node + Bun)
alpha + secrets scan
beta + Windows tests
stable + macOS tests, install smoke tests

Emergency Hotfixes

For critical production issues:

  1. Create branch: git checkout -b hotfix/critical-bug
  2. Push → Auto-PR created directly to main
  3. Get expedited review (skip staging)
  4. After merge, cherry-pick to develop, alpha, beta to sync
# After hotfix merges to main
git checkout develop && git cherry-pick <commit-sha> && git push
git checkout alpha && git cherry-pick <commit-sha> && git push
git checkout beta && git cherry-pick <commit-sha> && git push

npm Installation by Channel

# Stable (default)
npm install -g openclaw

# Beta testing
npm install -g openclaw@beta

# Alpha testing (bleeding edge)
npm install -g openclaw@alpha

Docker Images

Images are published to GitHub Container Registry:

# Stable
docker pull ghcr.io/openclaw/openclaw:latest

# Beta
docker pull ghcr.io/openclaw/openclaw:beta

# Specific version
docker pull ghcr.io/openclaw/openclaw:2026.2.6

Version Format

  • Stable: YYYY.M.D (e.g., 2026.2.6)
  • Beta: YYYY.M.D-beta.N (e.g., 2026.2.6-beta.1)
  • Alpha: YYYY.M.D-alpha.N (e.g., 2026.2.6-alpha.3)