Skip to content

chore: automate ruby releases with changesets#124

Merged
marandaneto merged 6 commits intomainfrom
chore/automate-ruby-releases
Apr 16, 2026
Merged

chore: automate ruby releases with changesets#124
marandaneto merged 6 commits intomainfrom
chore/automate-ruby-releases

Conversation

@marandaneto
Copy link
Copy Markdown
Member

@marandaneto marandaneto commented Apr 16, 2026

💡 Motivation and Context

The Ruby SDK release process still required manually editing lib/posthog/version.rb and CHANGELOG.md in the PR. This change brings it in line with the other SDKs by making releases Changesets-driven and letting CI handle the version bump, changelog update, tagging, and publish flow.

It also aligns the repo's GitHub Actions usage with the rest of the SDK repos by pinning pnpm/action-setup to a full commit SHA, moving GitHub-owned actions to newer major versions where this repo was behind, standardizing on Node 24 for the release workflow, and using plain semver tags/releases without a v prefix.

To validate the new automation end-to-end, this PR now includes a patch changeset and the release label so merging it should exercise the new release workflow immediately.

💚 How did you test it?

  • parsed .github/workflows/release.yml, .github/workflows/codeql.yml, and .github/workflows/unit-tests.yml with Ruby YAML to verify the workflow files are valid
  • ran bash -n scripts/bump-version.sh
  • initialized Changesets and verified pnpm changeset status sees posthog-ruby as a versioned package and computes the next version from a temporary changeset
  • re-read the updated release docs and PR template to confirm they match the new automated flow
  • removed the generated .changeset/README.md since it is not needed for this repo
  • checked other SDK repos and confirmed pnpm/action-setup is not treated as an exception; those repos pin it to full SHAs as well
  • added .nvmrc with Node 24 and updated the release workflow to use node-version: 24
  • updated the release workflow to create tags and GitHub releases as X.Y.Z instead of vX.Y.Z
  • added a patch changeset and confirmed Changesets computes the next release as 3.6.2

📝 Checklist

  • I reviewed the submitted code.
  • I added tests to verify the changes.
  • I updated the docs if needed.
  • No breaking change or entry added to the changelog.

If releasing new changes

  • Ran pnpm changeset to generate a changeset file
  • Added the release label to the PR

@marandaneto marandaneto requested a review from a team as a code owner April 16, 2026 11:34
@marandaneto marandaneto merged commit f69d97a into main Apr 16, 2026
14 checks passed
@marandaneto marandaneto deleted the chore/automate-ruby-releases branch April 16, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants