Skip to content

ci: add semver check job and disable release-plz semver - #765

Closed
DaleSeo wants to merge 1 commit into
mainfrom
ci/semver-check-config
Closed

ci: add semver check job and disable release-plz semver#765
DaleSeo wants to merge 1 commit into
mainfrom
ci/semver-check-config

Conversation

@DaleSeo

Copy link
Copy Markdown
Member

Motivation and Context

Follow-up to #757. release-plz runs its semver analysis with all features enabled, which includes the local feature. Since local intentionally changes the API surface (relaxing Send + Sync bounds), this causes false-positive breaking-change detections and forces a major version bump (see #747).

This PR disables release-plz's built-in semver check via release-plz.toml and adds a dedicated CI job that runs cargo semver-checks --default-features instead. This way, real breaking changes in the default API are still caught in CI, while the intentional local feature changes don't trigger false alarms.

There's an open issue to support feature selection in release-plz (release-plz/release-plz#2291), which would make this workaround unnecessary.

How Has This Been Tested?

  • Before
❯ release-plz update
2026-03-21T22:47:22.117639Z INFO release-plz config file not found, using default configuration
2026-03-21T22:47:22.170966Z INFO downloading packages from cargo registry crates.io
Updating crates.io index
2026-03-21T22:47:23.236402Z INFO determining next version for rmcp-macros 1.2.0
2026-03-21T22:47:23.329625Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp-macros
2026-03-21T22:47:23.467754Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp-macros
2026-03-21T22:47:23.637035Z INFO determining next version for rmcp 1.2.0
2026-03-21T22:47:23.739673Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:23.869127Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:23.995122Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:24.120005Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:24.244825Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:24.369571Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:24.499764Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:24.633546Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpnB5alv/rust-sdk/crates/rmcp
2026-03-21T22:47:25.223515Z INFO Checking API compatibility with cargo-semver-checks...
2026-03-21T22:48:02.265882Z INFO rmcp-macros: next version is 2.0.0
2026-03-21T22:48:02.267297Z INFO rmcp: next version is 2.0.0 (⚠️ API breaking changes)
*`rmcp-macros`: 1.2.0 -> 2.0.0
*`rmcp`: 1.2.0 -> 2.0.0 (⚠️ API breaking changes)
  • After
❯ release-plz update
2026-03-21T22:46:27.915372Z INFO using release-plz config file release-plz.toml
2026-03-21T22:46:27.962563Z WARN no upstream configured for branch ci/semver-check-config
2026-03-21T22:46:27.978997Z INFO downloading packages from cargo registry crates.io
Updating crates.io index
2026-03-21T22:46:28.966033Z WARN no upstream configured for branch ci/semver-check-config
2026-03-21T22:46:29.011790Z INFO determining next version for rmcp-macros 1.2.0
2026-03-21T22:46:29.111822Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp-macros
2026-03-21T22:46:29.247878Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp-macros
2026-03-21T22:46:29.413410Z INFO determining next version for rmcp 1.2.0
2026-03-21T22:46:29.510939Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:29.641886Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:29.777040Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:29.903724Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:30.029825Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:30.157314Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:30.281391Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:30.414393Z INFO Getting packaged files for crate at /var/folders/v2/5j2zr9qs7c76ph0yxn53d_9r0000gp/T/.tmpqW4bwn/rust-sdk/crates/rmcp
2026-03-21T22:46:30.592173Z INFO rmcp-macros: next version is 1.3.0
2026-03-21T22:46:30.593722Z INFO rmcp: next version is 1.3.0
2026-03-21T22:46:30.951146Z WARN no upstream configured for branch ci/semver-check-config
*`rmcp-macros`: 1.2.0 -> 1.3.0
*`rmcp`: 1.2.0 -> 1.3.0

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@DaleSeoDaleSeo self-assigned this Mar 21, 2026
@github-actionsgithub-actionsBot added T-CI Changes to CI/CD workflows and configuration T-config Configuration file changes labels Mar 21, 2026
@DaleSeo
DaleSeoforce-pushed the ci/semver-check-config branch from f2b7dd8 to 144b55fCompareMarch 21, 2026 23:03
@DaleSeo
DaleSeo marked this pull request as ready for review March 22, 2026 10:37
@DaleSeo
DaleSeo requested a review from a team as a code ownerMarch 22, 2026 10:37
@DaleSeo

Copy link
Copy Markdown
MemberAuthor

Closing in favor of #776

@DaleSeoDaleSeo closed this Mar 25, 2026
@DaleSeo
DaleSeo deleted the ci/semver-check-config branch June 27, 2026 15:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-CIChanges to CI/CD workflows and configurationT-configConfiguration file changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@DaleSeo