Skip to content

chore: upgrade protea toolchain#23

Open
tiye wants to merge 1 commit intomainfrom
updates
Open

chore: upgrade protea toolchain#23
tiye wants to merge 1 commit intomainfrom
updates

Conversation

@tiye
Copy link
Copy Markdown
Collaborator

@tiye tiye commented Apr 9, 2026

Summary

  • upgrade Calcit and Yarn toolchain settings to the current workflow
  • migrate lockfile and CI commands to Corepack plus immutable installs
  • fix deprecated async hint syntax in compact.cirru so Vite 8 builds succeed

Validation

  • caps --ci
  • yarn install --immutable
  • cr js
  • yarn vite build --base=./
  • yarn compile

Summary by CodeRabbit

  • Chores
    • Updated build tooling to use Node.js setup v6 and Yarn v4.12.0.
    • Upgraded core build dependencies to enforce consistent lockfile handling.
    • Pinned dependency versions for improved stability and reproducibility.
    • Enhanced CI/CD workflows for more reliable automated builds.
    • Updated build configuration for improved tooling integration.

Copilot AI review requested due to automatic review settings April 9, 2026 17:05
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

Walkthrough

The changes update CI/CD workflows to use newer Node.js setup actions with explicit Yarn 4.12.0 configuration, add Yarn configuration files, bump Calcit framework to version 0.12.14 along with related dependencies, update Vite to version 8, and restructure Cirru metadata syntax and hints throughout the codebase.

Changes

Cohort / File(s) Summary
CI/CD Workflows
.github/workflows/npm-publish.yaml, .github/workflows/upload.yaml
Updated actions/setup-node from @v4/@v3 to @v6, replaced yarn caching with explicit Corepack enablement and Yarn 4.12.0 pinning, changed install command to yarn install --immutable for lockfile consistency, and updated calcit-lang/setup-cr to version 0.12.14.
Package Management Configuration
.yarnrc.yml, .gitignore, package.json
Added new .yarnrc.yml with nodeLinker: node-modules setting, added .yarn/*.gz to .gitignore, added packageManager: yarn@4.12.0 field to package.json, and introduced build script combining Calcit and Vite compilation.
Dependency Versioning
deps.cirru, package.json
Bumped Calcit framework version from 0.9.13 to 0.12.14, pinned multiple Respo and Calcit library versions to specific releases (e.g., respo@0.16.32, respo-ui@0.6.4, lilac@0.5.1, memof@0.0.23), and updated Vite from ^7.0.0 to ^8.0.8.
Cirru Metadata and Syntax
compact.cirru
Added :about field metadata, annotated multiple :CodeEntry definitions with (:schema nil), converted environment variable access from quoted strings to pipe syntax (e.g., "\"mode"|mode), restructured function hints from positional to explicit map format (e.g., hint-fn asynchint-fn $ {} (:async true)), and adjusted UI literal formatting.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ 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: upgrade protea toolchain' accurately reflects the main objective of the pull request, which is to upgrade the Calcit and Yarn toolchain settings, migrate to Corepack with immutable installs, and fix async hint syntax for Vite 8 compatibility.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch updates

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
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR upgrades the project’s Calcit + Yarn toolchain to a newer workflow, updates JS build tooling to Vite 8, and adjusts CI to use Corepack with immutable installs.

Changes:

  • Migrates from Yarn classic lockfile to Yarn Berry (v4) with Corepack-based installs.
  • Upgrades Calcit tooling/config (including dependency versions) and updates generated compact.cirru syntax to match the new compiler expectations.
  • Updates GitHub Actions workflows to use the new install/build steps (Corepack + yarn install --immutable + cr js + Vite build).

Reviewed changes

Copilot reviewed 6 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
yarn.lock Replaced Yarn v1 lockfile with Yarn Berry lockfile (lockfileVersion 8) to support Yarn 4 workflow.
package.json Pins Yarn via packageManager, upgrades Vite to ^8.0.8, upgrades @calcit/procs, and adds a combined build script.
deps.cirru Updates Calcit version and dependency pins to align with the upgraded toolchain.
compact.cirru Updates generated Calcit compact output format and async hint syntax for compatibility with newer tooling.
calcit.cirru Removes the old Calcit config/artifact (replaced by compact workflow).
.yarnrc.yml Configures Yarn to use node-modules linker.
.gitignore Ignores Yarn-generated gzip state files under .yarn/.
.github/workflows/upload.yaml Updates CI to use actions/setup-node@v6, enables Corepack, installs immutably, and compiles via cr js.
.github/workflows/npm-publish.yaml Updates publish workflow to use Corepack + immutable Yarn install before yarn compile.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread compact.cirru
Copy link
Copy Markdown

@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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/upload.yaml:
- Around line 30-33: Replace the hardcoded run command "yarn vite build
--base=./" in the CI step named "Build web assets" with the repository script
invocation "yarn build" so the workflow uses the canonical build script from
package.json and avoids command drift; update the step's run value to "yarn
build" and keep the step name unchanged.

In `@compact.cirru`:
- Around line 93-103: The async handler dispatch! is calling set-renderer!
without awaiting it, causing fire-and-forget updates and dropped rejections;
update the :tab branch inside dispatch! (and the other async handler that calls
set-renderer!) to use js-await before invoking set-renderer! and ensure the
enclosing functions remain marked async (hint-fn ... {:async true}) so the
promise is awaited and rejections propagate; locate calls to set-renderer! in
dispatch! and the second async handler and prefix them with js-await (or
equivalent await) so renderer switches happen in-order and errors are not lost.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 367946b0-9ae5-44ec-a654-60178cb43262

📥 Commits

Reviewing files that changed from the base of the PR and between eac5355 and 243b232.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (8)
  • .github/workflows/npm-publish.yaml
  • .github/workflows/upload.yaml
  • .gitignore
  • .yarnrc.yml
  • calcit.cirru
  • compact.cirru
  • deps.cirru
  • package.json

Comment thread .github/workflows/upload.yaml
Comment thread compact.cirru
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