Skip to content

Add release-please for automated releases#435

Open
workos-sdk-automation[bot] wants to merge 1 commit intomainfrom
add-release-please
Open

Add release-please for automated releases#435
workos-sdk-automation[bot] wants to merge 1 commit intomainfrom
add-release-please

Conversation

@workos-sdk-automation
Copy link
Contributor

Summary

  • Adds release-please to automate versioning, changelog generation, and GitHub releases
  • Replaces the manual version-bump workflow with release-please's automated release PR flow
  • Simplifies the release.yml publish workflow to trigger on GitHub release events (created by release-please)
  • Adds a PR title linter (lint-pr-title.yml) to enforce Conventional Commits, which release-please uses to determine version bumps

Changes

  • New: .github/workflows/release-please.yml — runs on push to main, creates release PRs automatically
  • New: .github/workflows/lint-pr-title.yml — validates PR titles follow conventional commit format
  • New: release-please-config.json — configures release-please for Ruby gem releases
  • New: .release-please-manifest.json — tracks current version (6.0.0)
  • Modified: .github/workflows/release.yml — simplified to only publish to RubyGems on GitHub release events
  • Removed: .github/workflows/version-bump.yml — no longer needed with release-please

Replace the manual version-bump workflow and PR-triggered release flow
with release-please for automated changelog generation and releases.
The publish workflow now triggers on GitHub release events.
Also adds a PR title linter to enforce conventional commits.
@workos-sdk-automation workos-sdk-automation bot requested a review from a team as a code owner February 7, 2026 22:09
@workos-sdk-automation workos-sdk-automation bot requested review from tribble and removed request for a team February 7, 2026 22:09
@greptile-apps
Copy link

greptile-apps bot commented Feb 7, 2026

Greptile Overview

Greptile Summary

This PR modernizes the release process by replacing manual version bumping with Google's release-please automation. The new workflow automatically analyzes conventional commits to determine version bumps, generates changelogs, and creates release PRs.

Key Changes:

  • Replaced manual version-bump.yml workflow with automated release-please.yml that runs on every push to main
  • Added lint-pr-title.yml to enforce conventional commit format in PR titles (required for release-please to determine version bumps)
  • Simplified release.yml to trigger on GitHub release events (created by release-please) instead of PR merges with labels
  • Added configuration files: release-please-config.json (Ruby gem settings) and .release-please-manifest.json (tracks current version 6.0.0)

Benefits:

  • Eliminates manual version bumping workflow_dispatch trigger
  • Automatic changelog generation based on commit history
  • Version bumps determined by conventional commit prefixes (feat: → minor, fix: → patch, BREAKING CHANGE: → major)
  • Consistent release process across WorkOS SDKs

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are well-structured automation improvements that replace a manual workflow with industry-standard tooling. All workflows follow proper GitHub Actions patterns, use appropriate permissions, and the version extraction logic in release.yml correctly handles tag-based versioning. The configuration files are minimal and properly formatted.
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/release-please.yml Adds release-please workflow that automatically creates release PRs on pushes to main; uses GitHub App token for authentication
.github/workflows/lint-pr-title.yml Adds PR title linting workflow using semantic-pull-request action to enforce conventional commits format
.github/workflows/release.yml Simplified to trigger on GitHub release publish events instead of PR merges; extracts version from tag name
release-please-config.json Configures release-please for Ruby gem with proper version file and changelog paths
.release-please-manifest.json Tracks current version (6.0.0) for release-please to determine next version bumps

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant PR as Pull Request
    participant Main as Main Branch
    participant RP as Release Please
    participant GH as GitHub Release
    participant RG as RubyGems

    Dev->>PR: Create PR with conventional commit title
    Note over PR: lint-pr-title.yml validates title format
    PR->>Main: Merge PR
    Main->>RP: Trigger release-please workflow
    RP->>RP: Analyze commits since last release
    RP->>RP: Determine version bump (major/minor/patch)
    RP->>PR: Create/update release PR
    Note over PR: Release PR updates version.rb & CHANGELOG.md
    PR->>Main: Merge release PR
    RP->>GH: Create GitHub release with tag
    GH->>RG: Trigger release.yml workflow
    RG->>RG: Extract version from tag (GITHUB_REF_NAME)
    RG->>RG: Run tests
    RG->>RG: Build gem
    RG->>RG: Publish gem to RubyGems
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant