Skip to content

feat: add release-please for automated versioning and releases#5

Merged
akhilesharora merged 1 commit into
mainfrom
feat/release-please-setup
May 16, 2026
Merged

feat: add release-please for automated versioning and releases#5
akhilesharora merged 1 commit into
mainfrom
feat/release-please-setup

Conversation

@akhilesharora

Copy link
Copy Markdown
Collaborator

Adds release-please to automate version bumps, CHANGELOG generation, git tagging, GitHub Releases, and npm publishing.

What changes for contributors

PR titles already follow Conventional Commits (feat(sdk): ..., fix(sdk): ...). The bot reads them to compute the next SemVer bump and to generate the CHANGELOG entry. No more hand-written changeset files.

What lands

  • release-please-config.json - single-package config, release-type: node, prerelease support with alpha label so we keep shipping 0.2.0-alpha.N until a Release-As: footer drops the suffix.
  • .release-please-manifest.json - pinned to current 0.2.0-alpha.3.
  • .github/workflows/release-please.yml - runs on push to main, opens or updates the Release PR.
  • CONTRIBUTING.md - new "Releases" section, plus a Conventional Commits clarification on the PR rules.

How it interacts with existing release.yml

release-please only creates the tag. The existing release.yml already triggers on tags: ['v*'] and handles build, tarball verification, dist-tag selection, and npm publish --provenance. No changes needed there.

What I expect to happen after merge

This commit is feat:, so release-please will see one new feat since 0.2.0-alpha.3 and propose a Release PR titled roughly chore(main): release langos-sdk-node 0.2.0-alpha.4. Merging that Release PR creates the v0.2.0-alpha.4 tag, which triggers release.yml to publish.

The alpha.4 release is functionally identical to alpha.3; it just marks the point where release-please took over.

Forcing a specific next version

Documented in CONTRIBUTING.md. Add a Release-As: <target> footer to a commit on main to override what the bot would compute (e.g., to drop the prerelease suffix at a milestone).

Adds release-please-action workflow + config + manifest. On every push to
main, the bot scans Conventional Commits and maintains a pending Release
PR with auto-generated CHANGELOG entries and version bump. Merging the
Release PR creates the vX.Y.Z tag, which triggers the existing
release.yml to build, verify, and npm publish.

Contributors no longer hand-write CHANGELOG entries; PR titles in
Conventional Commits form become the changelog. Existing CHANGELOG.md
stays as the historical record and release-please appends to it.

Initial manifest version is pinned to current 0.2.0-alpha.3; version
bump is deferred to a future commit with a Release-As footer.

CONTRIBUTING.md updated with the new workflow.
@akhilesharora akhilesharora merged commit 811b3ac into main May 16, 2026
4 checks passed
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