-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
ci: introduce changesets #6100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: introduce changesets #6100
Conversation
|
View your CI Pipeline Execution ↗ for commit 42bd8c7
☁️ Nx Cloud last updated this comment at |
WalkthroughAdds Changesets-based versioning and publishing, updates CI workflows to use actions/checkout v5 and a Changesets release job, introduces a PR template, removes legacy publish scripts and related config/types, adjusts Rollup config to compute its own rootDir, and extends knip ignored deps. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant GH as GitHub Actions
participant CS as changesets/action
participant NPM as npm Registry
Dev->>GH: Push branch / open PR
GH->>GH: Run PR workflows (checkout v5, tests)
Note over GH: PR workflows don't publish
Dev->>GH: Merge to main
GH->>CS: Run Changesets action (version & publish)
CS->>NPM: Publish packages (public)
CS->>GH: Create tags/releases and PRs for version changes
sequenceDiagram
participant Old as Old Flow
participant New as New Flow
rect rgba(230,230,230,0.3)
note over Old: Removed legacy flow
Old->>Old: `scripts/publish.js` + custom config/types
end
rect rgba(200,240,210,0.3)
note over New: Changesets-based flow
New->>New: `.changeset/config.json` + `package.json` scripts
New->>New: `changesets/action@v1.5.3` in release workflow
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
🔇 Additional comments (2)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (3)
.github/pull_request_template.md (1)
10-13: Make “Release Impact” mutually exclusive and actionable.It’s easy to tick both boxes accidentally. Add guidance to select exactly one, and hint at the command for generating a changeset when needed.
## 🚀 Release Impact -- [ ] This change affects published code, and I have generated a [changeset](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md). -- [ ] This change is docs/CI/dev-only (no release). +- [ ] This change affects published code (select this if any package output or public types change). + - If selected, run: `pnpm changeset` and commit the generated changeset. +- [ ] This change is docs/CI/dev-only (no release)..github/workflows/autofix.yml (1)
21-23: Pin actions to a commit SHA for supply‑chain hardening.Optional but recommended for third‑party actions (and checkout) to prevent tag drift.
-uses: actions/checkout@v5.0.0 +uses: actions/checkout@5f62d3cf… # v5.0.0 commit SHA.github/workflows/release.yml (1)
17-18: Release flow via Changesets looks good; harden action pinning and consider setup-node for registry auth.
- Pin changesets/action to a commit SHA (and optionally checkout) to avoid tag drift.
- If tanstack/config setup doesn’t set the npm registry/auth, add setup-node with registry-url before publish.
-uses: actions/checkout@v5.0.0 +uses: actions/checkout@5f62d3cf… # v5.0.0 commit SHA -uses: changesets/action@v1.5.3 +uses: changesets/action@8d2e8a4… # v1.5.3 commit SHAOptionally (if not already handled inside tanstack/config setup):
- name: Setup Tools uses: tanstack/config/.github/setup@main + - name: Setup Node for npm publish + uses: actions/setup-node@v4 + with: + node-version: '20' + registry-url: 'https://registry.npmjs.org'Also applies to: 20-22, 26-26, 38-47
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (10)
.changeset/config.json(1 hunks).github/pull_request_template.md(1 hunks).github/workflows/autofix.yml(1 hunks).github/workflows/pr.yml(3 hunks).github/workflows/release.yml(2 hunks)package.json(2 hunks)scripts/config.js(0 hunks)scripts/getRollupConfig.js(2 hunks)scripts/publish.js(0 hunks)scripts/types.d.ts(0 hunks)
💤 Files with no reviewable changes (3)
- scripts/types.d.ts
- scripts/publish.js
- scripts/config.js
🧰 Additional context used
🪛 GitHub Actions: PR
scripts/getRollupConfig.js
[error] 16-16: Unused exports detected in Rollup config script.
package.json
[error] Unused devDependencies: '@tanstack/config'. Remove to fix.
🔇 Additional comments (6)
.github/workflows/autofix.yml (1)
21-23: Good upgrade to checkout v5 with full history.scripts/getRollupConfig.js (1)
4-4: ESM dirname derivation is correct.Using fileURLToPath(import.meta.url) is the right approach in ESM.
.changeset/config.json (1)
1-14: Config LGTM.Base branch, changelog preset, and update strategy are appropriate for this repo.
package.json (2)
27-29: Scripts align with the new release flow.The sequence for versioning (version → install to update lockfile → prettier) is sound.
49-83: Do not remove '@tanstack/config' blindly — it's referenced by GH Actions; either remove it after confirming it's unnecessary or teach knip to ignore it.Occurrences: package.json (devDependencies) — package.json:62; .github/workflows/autofix.yml:25; .github/workflows/pr.yml:32,51; .github/workflows/release.yml:32; pnpm-lock.yaml entries.
.github/workflows/pr.yml (1)
1-1: Approve — PR workflow updates OK; Node ≥20 present and Nx workflow file exists.
- node -v → v24.3.0 (satisfies checkout v5 Node≥20 requirement).
- Found .nx/workflows/dynamic-changesets.yaml.
- Runner image reported "unknown" in this check — if you use self-hosted runners, confirm they run Node ≥20.
🎯 Changes
See also: TanStack/config#218 and TanStack/virtual#946
✅ Checklist
pnpm test:pr.🚀 Release Impact
Summary by CodeRabbit
Chores
Documentation