Skip to content

feat: migrate to Release Please for controlled releases#18

Merged
dkmaker merged 8 commits intomainfrom
feat/release-please-workflow
Jan 9, 2026
Merged

feat: migrate to Release Please for controlled releases#18
dkmaker merged 8 commits intomainfrom
feat/release-please-workflow

Conversation

@dkmaker
Copy link
Copy Markdown
Owner

@dkmaker dkmaker commented Jan 9, 2026

Summary

This PR migrates the release workflow from automatic releases on every commit to Release Please, giving maintainers control over when releases happen.

Changes

New Files

  • .github/workflows/release-please.yml - Creates/updates Release PRs automatically
  • .github/workflows/npm-publish.yml - Publishes to NPM when a GitHub release is created
  • release-please-config.json - Release Please configuration
  • .release-please-manifest.json - Version tracking for Release Please
  • RELEASE.md - Documentation explaining the release process

Modified Files

  • .github/conventional-changelog.config.cjs - Only feat, fix, perf, refactor trigger version bumps
  • .github/workflows/refresh-badges.yml - Fixed repository reference (zenturacpdkmaker)

Removed Files

  • .github/workflows/publish.yml - Old workflow that released on every commit

How the New Process Works

Feature PR merged → main → Release PR created (auto)
More commits     → main → Release PR updated (auto)
                          ↓
                   [Maintainer reviews]
                          ↓
                   Merge Release PR
                          ↓
                   GitHub Release + NPM Publish

Why This Change?

Before After
Every commit to main = new release You decide when to release
No batching of features Group features into meaningful releases
ci:, docs: commits caused version bumps Only meaningful changes bump versions
Badge workflow pointed to wrong repo Fixed to dkmaker/mcp-rest-api

Test Plan

  • Merge this PR to main
  • Verify Release Please creates a Release PR
  • Merge the Release PR
  • Verify GitHub release is created
  • Verify NPM package is published

Documentation

See RELEASE.md for full documentation of the new release process.

- Add Release Please workflow for creating release PRs
- Add separate NPM publish workflow (triggers on GitHub release)
- Remove old auto-publish workflow that released on every commit
- Update changelog config to only bump versions for feat/fix/perf/refactor
- Fix badge workflow repository reference (zenturacp -> dkmaker)
- Add RELEASE.md documentation explaining the new release process

This change gives maintainers control over when releases happen
by requiring them to merge a Release PR, rather than automatically
releasing on every push to main.
@claude
Copy link
Copy Markdown

claude Bot commented Jan 9, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

- Claude Code now validates conventional commit format on all PRs
- Shows release compliance summary table with each commit's validity
- Explains version bump rules to contributors
- Provides fix instructions for non-compliant commits
- Added git log/show to allowed tools for commit inspection
These files were used by the old TriPSs/conventional-changelog-action
which has been replaced by Release Please. Release Please uses its
own config in release-please-config.json.
Added '# Changelog' header and cleaned up spacing to match
Release Please output format.
- Remove smithery badge from README
- Remove Smithery installation instructions
- Delete smithery.yaml config file
- Delete Dockerfile (was Smithery-generated)
- Clean up README structure
- Update npm-publish.yml for trusted publishing:
  - Add id-token: write permission for OIDC
  - Upgrade to Node.js 24 (required for npm 11.5.1+)
  - Remove NODE_AUTH_TOKEN (no longer needed)
  - Add --provenance flag for supply chain security
- Simplify repository field in package.json for provenance
- Weekly npm dependency updates (Mondays)
- Weekly GitHub Actions updates
- Group minor/patch updates to reduce PR noise
- Use conventional commit prefix (chore(deps))
- Separate groups for prod and dev dependencies
The lowercase-only rule was too strict, rejecting valid commits
with proper nouns (Release Please, Dependabot) and acronyms (OIDC).
Setting to level 0 disables the rule while keeping other validations.
@dkmaker dkmaker merged commit c8111db into main Jan 9, 2026
1 of 2 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