This repository is a small Ruby gem used to demonstrate Changesets version-provider behavior.
It intentionally keeps package.json as package metadata for Changesets discovery while the Ruby provider owns Ruby version files:
lib/demo_ruby_gem/version.rbdemo-ruby-gem.gemspecGemfile.lock
The evidence workflow is:
- Start from the
demo-starttag, where the Ruby gem is at version0.1.0and has a pending minor changeset. - Run
changeset version. - Verify Ruby files move to
0.2.0whilepackage.jsonremains metadata-only at0.1.0. - Commit a second Ruby change and patch changeset.
- Run
changeset versionagain. - Verify Ruby files move from
0.2.0to0.2.1, proving Changesets reads the current Ruby provider version instead of stalepackage.jsonmetadata.
Run the local proof script from this repository:
CHANGESETS_ROOT=/path/to/changesets ./scripts/run-demo.shWhen run from the final repository state, the script creates a temporary git worktree at demo-start and replays both release cycles there.
The committed history is part of the evidence:
git log --oneline --decorate --reverse
git diff demo-start..HEAD -- lib/demo_ruby_gem/version.rb demo-ruby-gem.gemspec Gemfile.lock package.jsonExpected proof points:
lib/demo_ruby_gem/version.rb,demo-ruby-gem.gemspec, andGemfile.lockadvance from0.1.0to0.2.0, then to0.2.1.package.jsonremains at0.1.0.- The second release is
0.2.1, not0.1.1, showing the Ruby provider supplies the current version for release-plan calculation.
The Ruby provider proof workflow runs on pushes and pull requests in this demo repository. It can also be run manually against any Changesets branch, tag, SHA, or pull-request ref.
The Release PR workflow uses the standard Changesets changelog generator, so the generated release pull request includes changelog context in addition to Ruby version-file updates.
By default, the workflow checks out:
- repository:
jbeckwith-oai/changesets - ref:
codex/ruby-version-provider
For manual runs, set the workflow inputs to the Changesets repository and ref you want to test. For example, to test a Changesets pull request from the upstream repository, use:
- repository:
changesets/changesets - ref:
pull/<PR_NUMBER>/head