Skip to content

ci: add Rsdoctor CI bundle tracking#1086

Merged
fi3ework merged 4 commits intomainfrom
perf/bundle-size-optimization
Mar 24, 2026
Merged

ci: add Rsdoctor CI bundle tracking#1086
fi3ework merged 4 commits intomainfrom
perf/bundle-size-optimization

Conversation

@fi3ework
Copy link
Copy Markdown
Member

@fi3ework fi3ework commented Mar 23, 2026

Summary

Add Rsdoctor-based bundle diff analysis to CI for automated bundle size tracking across PRs.

Implementation

  • CI workflow (.github/workflows/bundle-diff.yml): Runs on push to main (baseline upload) and on PRs (diff comparison) using web-infra-dev/rsdoctor-action.
  • Shared plugin helper (scripts/rsdoctorPlugin.ts): Conditionally enables RsdoctorRspackPlugin when RSDOCTOR_CI=true, configured with disableClientServer: true, mode: "brief", and type: ["json"] for CI-friendly output.
  • All 9 package build configs updated to include the plugin.

User Impact

None — CI-only change with no behavioral impact.

Related Links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

@fi3ework fi3ework changed the title perf(core): add Rsdoctor CI bundle tracking and replace jest-diff with @vitest/utils ci: add Rsdoctor CI bundle tracking Mar 23, 2026
@fi3ework fi3ework force-pushed the perf/bundle-size-optimization branch from ebf7e0e to 6bd51ac Compare March 23, 2026 11:36
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 23, 2026

Deploying rstest with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6bd51ac
Status: ✅  Deploy successful!
Preview URL: https://2c45a0d1.rstest.pages.dev
Branch Preview URL: https://perf-bundle-size-optimizatio.rstest.pages.dev

View logs

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 23, 2026

Rsdoctor Bundle Diff Analysis

Found 12 projects in monorepo, 12 projects with changes.

📊 Quick Summary
Project Total Size Change
adapter-rsbuild 2.1 KB -
adapter-rslib 23.1 KB -
adapter-rspack 5.9 KB -
browser 2.0 MB -
browser-react 3.7 KB -
browser-ui 804.2 KB -
coverage-istanbul 9.1 KB -
core 1.2 MB -
core 869.0 B -
core 1.8 MB -
vscode 59.5 MB -
vscode 14.4 KB -
📋 Detailed Reports (Click to expand)

📁 adapter-rsbuild

Path: packages/adapter-rsbuild/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 2.1 KB - -
📄 JavaScript 2.1 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 adapter-rslib

Path: packages/adapter-rslib/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 23.1 KB - -
📄 JavaScript 23.1 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 adapter-rspack

Path: packages/adapter-rspack/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 5.9 KB - -
📄 JavaScript 5.9 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 browser

Path: packages/browser/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 2.0 MB - -
📄 JavaScript 2.0 MB - -
🎨 CSS 11.8 KB - -
🌐 HTML 765.0 B - -
📁 Other Assets 96.0 B - -

📁 browser-react

Path: packages/browser-react/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 3.7 KB - -
📄 JavaScript 3.7 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 browser-ui

Path: packages/browser-ui/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 804.2 KB - -
📄 JavaScript 775.7 KB - -
🎨 CSS 11.8 KB - -
🌐 HTML 765.0 B - -
📁 Other Assets 16.0 KB - -

📁 coverage-istanbul

Path: packages/coverage-istanbul/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 9.1 KB - -
📄 JavaScript 9.1 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 core

Path: packages/core/dist/rsdoctor-browser/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 1.2 MB - -
📄 JavaScript 1.2 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 9.0 KB - -

📁 core

Path: packages/core/dist/rsdoctor-loaders/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 869.0 B - -
📄 JavaScript 0 B - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 869.0 B - -

📁 core

Path: packages/core/dist/rsdoctor-main/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 1.8 MB - -
📄 JavaScript 1.7 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 89.7 KB - -

📁 vscode

Path: packages/vscode/dist/rsdoctor-extension/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 59.5 MB - -
📄 JavaScript 433.6 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 59.1 MB - -

📁 vscode

Path: packages/vscode/dist/rsdoctor-worker/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 14.4 KB - -
📄 JavaScript 14.4 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

Generated by Rsdoctor GitHub Action

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ebf7e0e931

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- Use InstanceType for proper Rsdoctor plugin return type
- Move browser package plugin to lib-level for consistency
- Fix reportDir paths to use dist/ prefix for all libs
- Use consistent naming without dot prefix (rsdoctor-main, rsdoctor-loaders, etc.)
fi3ework and others added 2 commits March 24, 2026 11:52
- Restore accidentally deleted watchOptions.ignored for .git directory
- Remove unnecessary paths-ignore entries (_meta.json, dictionary.txt)
- Change permissions.contents to write per Rsdoctor action requirements
- Use --prefer-offline instead of --ignore-scripts to match test.yml

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@fi3ework fi3ework enabled auto-merge (squash) March 24, 2026 09:10
@fi3ework fi3ework merged commit 4eb70d3 into main Mar 24, 2026
41 of 45 checks passed
@fi3ework fi3ework deleted the perf/bundle-size-optimization branch March 24, 2026 09:13
@9aoy 9aoy mentioned this pull request Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants