chore: replace release-please with changesets#827
Conversation
|
Claude finished @joshuaellis's task in 1m 37s —— View job Review
# Change to:
cancel-in-progress: false
# Use a unique filename, e.g.:
} > .changeset/force-snapshot-${{ github.run_id }}.md
- name: Check for changesets
if: ${{ inputs.forceBump == 'false' }}
run: |
if [ -z "$(ls .changeset/*.md 2>/dev/null | grep -v README)" ]; then
echo "No changesets found. Either add a changeset or use forceBump."
exit 1
fi
|
Coverage DeltaNo covered files changed in this PR. Overall Coverage
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
e3604c3 to
052d17c
Compare
Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Binoy Patel <6476108+binoy14@users.noreply.github.com>
052d17c to
b704592
Compare
Summary
Replace release-please with Changesets for version management and publishing. Uses OIDC-based npm trusted publishing (provenance) — matching the pattern from
sanity-io/next-sanityand the sharedsanity-io/.githubworkflows.Why Changesets?
pnpm changesetworkflow_dispatchHow It Works
Changesets are auto-generated from conventional commits — no manual steps required. The same workflow as before: write conventional commit messages (
feat:,fix:, etc.) and the system handles the rest.The
changesets-from-conventional-commitsworkflow (usingmscharley/dependency-changesets-action) automatically:.changeset/*.mdfiles with the correct bump typeFor human PRs, you can optionally run
pnpm changesetfor more control over changelog entries.Publishing
Standard releases — on push to
main, the release workflow (changesets/action@v1.6.0):Snapshot releases — on-demand via
workflow_dispatch:0.0.0-20260327120000) under a custom dist tagforceBumpoption generates changesets for all packages when none exist (patch/minor/major)forceBumpis used: creates real versions, publishes tolatest, commits version changes tomain, and creates GitHub ReleasesPrerelease mode — for sustained alpha/beta/rc cycles:
pnpm pre:enter alpha/pnpm pre:exitto enter and exit prerelease modechangeset versionproduces versions like1.0.0-alpha.0,-alpha.1, etc.latestnpm install @sanity/clisnapshot(or custom)npm install @sanity/cli@snapshotalpha,beta, etc.npm install @sanity/cli@alphaRelated issues