Skip to content

ci: add prerelease pipeline on next branch - #1588

Merged
vibe-dex merged 1 commit into
mainfrom
vibe-dex/pre-release-pipeline
May 14, 2026
Merged

ci: add prerelease pipeline on next branch#1588
vibe-dex merged 1 commit into
mainfrom
vibe-dex/pre-release-pipeline

Conversation

@vibe-dex

@vibe-dex vibe-dex commented May 14, 2026

Copy link
Copy Markdown
Contributor

What is this Contribution About?

Mirrors deco-cx/deco's two-channel release flow in this repo, without adopting JSR. A new next branch (created manually after this PR lands) becomes the prerelease channel. PRs against next get a "Prerelease Tagging" bot comment; merging ships a X.Y.Z-next.N tag — default is PATCH, maintainers can react 🎉/🚀 on the comment to bump minor/major. release.yaml now flags *-next.* tags as GitHub Pre-releases. Distribution stays on jsDelivr (cdn.jsdelivr.net/gh/deco-cx/apps@<tag>/); customers running deno task update keep tracking stable because @deco/codemod-toolkit's eligibleLatestVersion() excludes semver prereleases by default — only an explicit apps@X.Y.Z-next.N pin opts a site in.

Issue Link

  • Issue: N/A

Loom Video

N/A — workflow change, no UI.

Demonstration Link

Verification (after merge): create next branch from main, allow github-actions[bot] to push to it, open a no-op PR against next, confirm the bot comment appears, merge, then verify the <patch>-next.1 tag and Pre-release on GitHub.

🤖 Generated with Claude Code


Summary by cubic

Adds a prerelease channel on the next branch with automated X.Y.Z-next.N tags and GitHub Pre-releases. This lets us ship preview builds without affecting stable users.

  • New Features

    • PRs to next get a “Prerelease Tagging” comment; merging publishes X.Y.Z-next.N.
    • Default bump is patch; maintainers can react 🎉 (minor) or 🚀 (major). Only users in MAINTAINERS.txt are honored.
    • .N auto-increments per base version.
    • *-next.* tags are marked as GitHub Pre-releases.
    • Stable flow on main is unchanged. Distribution stays via jsDelivr; update tasks ignore prereleases by default, so consumers must pin an exact apps@X.Y.Z-next.N to opt in.
  • Migration

    • Create next from main after this merges.
    • Allow github-actions[bot] to push to next.

Written for commit 7a53f8c. Summary will update on new commits.

Summary by CodeRabbit

  • Chores
    • Updated release workflow to support separate release channels with distinct versioning schemes
    • Modified pre-release classification logic to automatically identify releases based on version tag naming patterns
    • Enabled parallel release pipelines for stable and pre-release versions across different branches

Review Change Stack

Mirrors deco-cx/deco's two-channel release flow without JSR:
- PRs against `next` get a "Prerelease Tagging" comment; merge ships an
  `X.Y.Z-next.N` tag (defaults to PATCH, maintainers can react 🎉/🚀 to
  override). N auto-increments per base.
- `release.yaml` flags `*-next.*` tags as GitHub Pre-releases.
- jsDelivr serves the tags; `deno task update` filters semver
  prereleases by default, so customers only get them when they pin the
  exact `apps@X.Y.Z-next.N` version.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Tagging Options

Should a new tag be published when this PR is merged?

  • 👍 for Patch 0.151.1 update
  • 🎉 for Minor 0.152.0 update
  • 🚀 for Major 1.0.0 update

@coderabbitai

coderabbitai Bot commented May 14, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: fd19ede0-6cc4-4578-901d-a17f101531f4

📥 Commits

Reviewing files that changed from the base of the PR and between d636130 and 7a53f8c.

📒 Files selected for processing (2)
  • .github/workflows/release.yaml
  • .github/workflows/releaser.yaml

📝 Walkthrough

Walkthrough

The release automation is extended to support parallel workflows: stable X.Y.Z releases on main and prerelease X.Y.Z-next.N versions on next. The releaser workflow now triggers on both branches, routes jobs per-branch, and the release workflow properly classifies both as pre-release or stable based on tag patterns.

Changes

Dual-branch Release Workflow

Layer / File(s) Summary
Workflow trigger configuration
.github/workflows/releaser.yaml
The push trigger branches list is extended from main only to include next.
Job routing and stable release path
.github/workflows/releaser.yaml
The tag-discussion job is gated to pull_request_target events on the main branch; the existing determine-tag stable release job is explicitly gated to push on refs/heads/main; a new prerelease-tag-discussion job is added for pull_request_target PRs targeting the next branch with prerelease bump guidance.
Prerelease tag determination for next branch
.github/workflows/releaser.yaml
A new determine-prerelease-tag job is added for push events on refs/heads/next. It queries the latest closed PR targeting next, derives maintainer reactions from a "Prerelease Tagging" marker, computes the next <base>-next.<N> version (with N auto-incremented from existing tags), updates deno.json, commits and pushes to next, creates the prerelease tag, and dispatches release.yaml with ref: next.
Release classification in release workflow
.github/workflows/release.yaml
The prerelease condition is expanded to include explicit pattern checks for alpha and next tag components in the GitHub Release creation logic.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 Two branches, one release, automation divine,
Stable on main, prerelease on next in time,
GitHub workflows dance to the maintainer's beat,
With reactions and tags, the versioning's sweet! 🚀

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch vibe-dex/pre-release-pipeline

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vibe-dex
vibe-dex merged commit 3c6d97a into main May 14, 2026
3 of 5 checks passed
@vibe-dex
vibe-dex deleted the vibe-dex/pre-release-pipeline branch May 14, 2026 21:03
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