ci: changesets v3 & split release workflow - #8051
Conversation
|
View your CI Pipeline Execution ↗ for commit 9df400c
☁️ Nx Cloud last updated this comment at |
🚀 Changeset Version PreviewNo changeset entries found. Merging this PR will not cause a version bump for any packages. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe Changesets configuration and package versions were upgraded. The release workflow now separates mode selection, versioning, packing, npm publication, and GitHub release creation with conditional jobs and scoped permissions. ChangesRelease pipeline modernization
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant select-mode
participant version
participant pack
participant publish
participant npm
participant release
participant GitHub
GitHubActions->>select-mode: select release mode and channel
select-mode->>version: provide mode and channel outputs
version->>pack: provide publish-plan artifact
pack->>publish: provide packed-directory artifact
publish->>npm: publish packed packages
publish->>release: report successful publication
release->>GitHub: create GitHub release
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| on: | ||
| push: | ||
| branches: [main, '*-pre', '*-maint'] | ||
| # we do not support '*-maint' branches at this time |
There was a problem hiding this comment.
what is the -maint suffix?
There was a problem hiding this comment.
i think it was meant for "maintenance" branches, but i'm not entirely sure
| cancel-in-progress: false | ||
|
|
||
| env: | ||
| NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} |
There was a problem hiding this comment.
don't we need this? why did we have it?
cc @beaussan
There was a problem hiding this comment.
it's down there in the pack job now (for the build step). Limiting the permissions/tokens to only where they are required
| "format": "prettier --experimental-cli --ignore-unknown '**/*' --write", | ||
| "changeset": "changeset", | ||
| "changeset:publish": "changeset publish", | ||
| "changeset:version": "changeset version && node scripts/update-example-deps.mjs && pnpm install --lockfile-only --ignore-scripts --no-frozen-lockfile && pnpm format", |
There was a problem hiding this comment.
why did we format here? are package.json misformatted maybe afterwards?
There was a problem hiding this comment.
i'm not entirely sure what needed to get formatted before, but now changeset uses whichever formatter it finds in the repo (prettier for us) so we should be able to remove it
| - name: Setup Tools | ||
| uses: TanStack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3 # main |
There was a problem hiding this comment.
i wonder if we need this now. Why do we need tools if all we do is publish the artifacts that were built in the pack job
split release workflow = better security
https://e18e.dev/docs/publishing.html#standard-workflow
changesets v3 enables it
https://changesets.dev/guide/migration
Closes #7692 (a previous attempts, w/ pre-release changesets packages)