Skip to content

feat(ci): Add automated release workflow with candidate-release labels#59

Merged
rubenmarcus merged 5 commits intomainfrom
feat/release-automation
Jan 30, 2026
Merged

feat(ci): Add automated release workflow with candidate-release labels#59
rubenmarcus merged 5 commits intomainfrom
feat/release-automation

Conversation

@rubenmarcus
Copy link
Copy Markdown
Member

@rubenmarcus rubenmarcus commented Jan 30, 2026

Summary

Adds automated release workflow triggered by PR labels.

How it works

  1. Create PR with code changes in src/
  2. Auto-labeled candidate-release by workflow
  3. Release PR created automatically: chore(release): v0.1.3
    • Bumps package.json version
    • Links to source PR
  4. Merge Release PR → triggers:
    • Git tag creation
    • GitHub Release
    • npm publish

Version bump rules

PR title contains Bump type
BREAKING or ! major
feat: minor
anything else patch

Files added

  • .github/workflows/prepare-release.yml - Creates release PRs
  • .github/workflows/release.yml - Publishes on merge

Labels created

  • candidate-release - Marks PRs ready for release
  • release - Marks auto-generated release PRs

Test plan

  1. Merge this PR
  2. Create a test PR that changes src/
  3. Verify candidate-release label is added
  4. Verify Release PR is created
  5. Merge Release PR
  6. Verify GitHub Release + npm publish

🤖 Generated with Claude Code

Add GitHub Action workflow that automatically creates releases when
version tags are pushed. The workflow:

- Triggers on any v* tag push
- Runs tests and build to verify the tag is valid
- Detects prerelease versions (alpha, beta, rc)
- Generates release notes from commits since last tag
- Creates GitHub release with appropriate prerelease flag
- Includes npm installation instructions in release notes

The npm publish step is included but commented out - can be enabled
when ready to automate npm publishing by adding NPM_TOKEN secret.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Jan 30, 2026

Deploying ralph-starter with  Cloudflare Pages  Cloudflare Pages

Latest commit: bb9af96
Status: ✅  Deploy successful!
Preview URL: https://391da381.ralph-starter.pages.dev
Branch Preview URL: https://feat-release-automation.ralph-starter.pages.dev

View logs

rubenmarcus and others added 4 commits January 30, 2026 01:58
Enable the npm publish job now that NPM_TOKEN secret is configured.
When a version tag is pushed, the workflow will:
1. Create a GitHub release
2. Publish to npm with appropriate tag (latest or beta)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Release workflow now:
- Triggers only on push to main with package file changes
- Ignores docs folder and markdown files
- Checks if version in package.json actually changed
- Only creates release + publishes if version bumped
- Auto-creates git tag if needed

Workflow:
1. Merge PR that bumps version in package.json
2. Workflow detects version change
3. Creates git tag, GitHub release, publishes to npm

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New release flow:
1. PR with src/ changes gets auto-labeled `candidate-release`
2. Labeling creates a Release PR with version bump
3. Merging Release PR triggers:
   - Git tag creation
   - GitHub Release
   - npm publish

Workflows:
- prepare-release.yml: Auto-labels PRs, creates Release PRs
- release.yml: Publishes when Release PR is merged

Version bump rules:
- feat: = minor bump
- fix:/other = patch bump
- BREAKING = major bump

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@rubenmarcus rubenmarcus changed the title feat(ci): Add automated GitHub releases on tag push feat(ci): Add automated release workflow with candidate-release labels Jan 30, 2026
@rubenmarcus rubenmarcus merged commit cfb1132 into main Jan 30, 2026
5 checks passed
rubenmarcus added a commit that referenced this pull request Jan 30, 2026
feat(ci): Add automated release workflow with candidate-release labels
rubenmarcus added a commit that referenced this pull request Jan 30, 2026
feat(ci): Add automated release workflow with candidate-release labels
@rubenmarcus rubenmarcus deleted the feat/release-automation branch February 7, 2026 19:10
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