Skip to content

Conversation

@wre232114
Copy link
Member

@wre232114 wre232114 commented Sep 22, 2025

Summary by CodeRabbit

  • Chores
    • Release pipeline now publishes without a beta tag, aligning main releases to the default channel and simplifying distribution.
    • Updated Rust workspace dependencies to newer minor versions (core, utils, toolkit, compiler) to inherit upstream fixes and improvements.
    • This may result in packages previously tagged beta being promoted to general availability.
    • No API changes; behavior should remain compatible.

@coderabbitai
Copy link

coderabbitai bot commented Sep 22, 2025

Walkthrough

Updates the release workflow to publish Rust packages without the beta tag and reformats a step line. Bumps multiple Rust workspace dependency versions in Cargo.toml and compacts the workspace members list formatting.

Changes

Cohort / File(s) Summary
CI workflow publish change
.github/workflows/release-changeset.yml
Changed Changesets publish command from pnpm exec changeset publish --tag beta to pnpm exec changeset publish; minor formatting tweak on a step’s uses line.
Rust workspace deps/version formatting
Cargo.toml
Updated versions: farmfe_core 2.0.0→2.1.0, farmfe_utils 2.0.0→2.1.0, farmfe_toolkit_plugin_types 2.0.0→2.0.1, farmfe_toolkit 2.0.0→2.1.0, farmfe_compiler 2.0.0→2.1.0; compacted workspace members list to single-line array.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • CCherry07

Poem

A bunny taps the publish key, so neat,
No beta tag upon its feet.
Versions hop to two-point-one,
The carrot crate is nearly done. 🥕
Pipelines hum, the burrow’s bright—
Release day moonlight, crisp and light.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "chore(rust-plugins): update farm crates" is concise, follows conventional-commit style, and accurately summarizes the primary change (version bumps to farm-related Rust crates in Cargo.toml), so it clearly reflects the main intent of the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/worker-output-extension

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a 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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5ad4b8e and a236d06.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • .github/workflows/release-changeset.yml (2 hunks)
  • Cargo.toml (1 hunks)
⏰ 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). (6)
  • GitHub Check: call-rust-build / Build and Upload Artifacts - win32-x64-msvc
  • GitHub Check: call-rust-build / Build and Upload Artifacts - win32-ia32-msvc
  • GitHub Check: call-rust-build / Build and Upload Artifacts - win32-arm64-msvc
  • GitHub Check: call-rust-build / Build and Upload Artifacts - darwin-x64
  • GitHub Check: call-rust-build / Build and Upload Artifacts - linux-x64-musl
  • GitHub Check: call-rust-build / Build and Upload Artifacts - linux-x64-gnu
🔇 Additional comments (3)
Cargo.toml (2)

2-2: Workspace members glob looks fine; confirm it scopes only intended crates.

If there are experimental crates or fixtures under rust-plugins/, consider excluding them to avoid accidental publishing/builds.


5-10: Coordinated farmfe 2.x→2.1.x bumps — manual verification required

Sandbox couldn't run cargo (error: no /proc/self/exe). Run locally and paste outputs of:

cargo update -w
cargo tree -d | rg -nP '^(farmfe_(core|utils|toolkit|compiler)|farmfe_toolkit_plugin_types)'
cargo tree -i farmfe_core
cargo build -w --all-targets

Confirm farmfe_macro_plugin = 2.0.0 is intentionally not bumped, validate feature flags and MSRV compatibility, and ensure no split/duplicate farmfe versions in the dependency graph/Cargo.lock.

.github/workflows/release-changeset.yml (1)

142-142: Reusable workflow reference: confirm workflow_call and artifact names.

Using ./.github/workflows/build.yaml is fine; ensure it has on: workflow_call and emits artifacts in the ${{github.sha}}-${abi}-${package} naming expected by the Move Artifacts step.

Comment on lines +121 to 123
publish: pnpm exec changeset publish
title: "Release: Rust Plugins (Beta)"
commit: "chore: release rust plugins (beta)"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Main branch now publishes Rust to npm “latest” but still labeled Beta — likely unintended.

Removing “--tag beta” means main publishes to the latest dist‑tag, while titles/commits still say Beta and JS still uses beta on main. This can push prerelease bits to “latest”.

Recommended fix (keep main as beta to match JS):

-          publish: pnpm exec changeset publish
-          title: "Release: Rust Plugins (Beta)"
-          commit: "chore: release rust plugins (beta)"
+          publish: pnpm exec changeset publish --tag beta
+          title: "Release: Rust Plugins (Beta)"
+          commit: "chore: release rust plugins (beta)"

Alternative (make main stable): also update job title/commit and align JS job in a follow‑up.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
publish: pnpm exec changeset publish
title: "Release: Rust Plugins (Beta)"
commit: "chore: release rust plugins (beta)"
publish: pnpm exec changeset publish --tag beta
title: "Release: Rust Plugins (Beta)"
commit: "chore: release rust plugins (beta)"
🤖 Prompt for AI Agents
.github/workflows/release-changeset.yml lines 121-123: the publish step
currently runs "pnpm exec changeset publish" which will push packages to the
"latest" dist-tag while the job title/commit message and the JS pipeline still
treat main as Beta; restore explicit prerelease behavior by adding the "--tag
beta" flag to the publish command (e.g., pnpm exec changeset publish --tag beta)
so main continues to publish under the beta dist-tag, and update the job
title/commit message if needed to remain consistent (or, if you intend to make
main stable, instead change the title/commit and align the JS job to remove
beta).

@CCherry07 CCherry07 merged commit f67a142 into main Sep 22, 2025
11 checks passed
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.

3 participants