Skip to content

chore(apps): swap default runtime backend from deno to node - #41474

Merged
ggazzo merged 3 commits into
developfrom
claude/apps-engine-runtime-swap-a1h7jc
Jul 27, 2026
Merged

chore(apps): swap default runtime backend from deno to node#41474
ggazzo merged 3 commits into
developfrom
claude/apps-engine-runtime-swap-a1h7jc

Conversation

@d-gubert

@d-gubert d-gubert commented Jul 20, 2026

Copy link
Copy Markdown
Member
  • feat(apps-engine): default runtime backend to node
  • ci: repurpose dedicated apps runtime job to test deno instead of node

Proposed changes (including videos or screenshots)

Issue(s)

Steps to test or reproduce

Further comments

Review in cubic

Summary by CodeRabbit

  • New Features
    • The default Apps runtime backend is now Node.js.
    • Deno is still supported by setting APPS_ENGINE_RUNTIME_BACKEND='deno'.
  • Bug Fixes
    • Updated runtime selection so the configured backend is consistently honored.
  • Tests
    • CI and E2E coverage was updated to run the Apps-based API tests against the Deno runtime when applicable.

@dionisio-bot

dionisio-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Looks like this PR is ready to merge! 🎉
If you have any trouble, please check the PR guidelines

@changeset-bot

changeset-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f29822f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@rocket.chat/apps Minor
@rocket.chat/meteor Minor
@rocket.chat/core-typings Minor
@rocket.chat/rest-typings Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 58778d9e-949d-4403-ba25-6afc9d9e48a3

📥 Commits

Reviewing files that changed from the base of the PR and between d5b628f and f29822f.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/ci.yml
📜 Recent review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: cubic · AI code reviewer
  • GitHub Check: 📦 Build Packages
  • GitHub Check: CodeQL-Build
  • GitHub Check: CodeQL-Build

Walkthrough

The apps-engine runtime default changes from Deno to Node, with Deno remaining configurable through APPS_ENGINE_RUNTIME_BACKEND. Enterprise CI workflow jobs are updated to explicitly test the Deno runtime, and a changeset records the package updates.

Changes

Apps runtime selection

Layer / File(s) Summary
Runtime default selection
packages/apps/src/server/managers/AppRuntimeManager.ts, .changeset/apps-engine-runtime-default-node.md
The default backend and factory selection now use Node, while the changeset documents the Deno override and minor package releases.
Deno CI coverage
.github/workflows/ci.yml, .github/workflows/ci-test-e2e.yml
Enterprise API Apps jobs, container environment setup, dependency aggregation, and conditional E2E steps now target api-apps-deno.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: type: feature

Suggested reviewers: ggazzo

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: switching the default Apps Engine runtime backend from Deno to Node.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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.

@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.68%. Comparing base (5ba7bd5) to head (f29822f).
⚠️ Report is 2 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop   #41474      +/-   ##
===========================================
- Coverage    68.69%   68.68%   -0.01%     
===========================================
  Files         4139     4139              
  Lines       159268   159268              
  Branches     27964    27940      -24     
===========================================
- Hits        109403   109395       -8     
+ Misses       44705    44704       -1     
- Partials      5160     5169       +9     
Flag Coverage Δ
e2e 58.82% <ø> (-0.02%) ⬇️
e2e-api 45.60% <ø> (-0.02%) ⬇️
unit 70.66% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ggazzo ggazzo added this to the 8.8.0 milestone Jul 20, 2026
claude added 2 commits July 27, 2026 12:55
Swap the default apps-engine runtime backend from deno to node so the
node runtime is exercised by the standard API test suite. The deno
runtime can still be selected via APPS_ENGINE_RUNTIME_BACKEND='deno'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzzSPVtd9ZcpaezJQtw6mm
Now that node is the default apps-engine runtime backend (covered by the
standard API test suite), the dedicated job explicitly exercises the
non-default deno runtime.

NOTE: this commit only touches .github/workflows/ and cannot be pushed by
this session (the GitHub OAuth App lacks the 'workflow' scope). It is kept
locally so it can be pushed once workflow scope is granted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzzSPVtd9ZcpaezJQtw6mm
@d-gubert
d-gubert force-pushed the claude/apps-engine-runtime-swap-a1h7jc branch from f9dd6cb to d5b628f Compare July 27, 2026 15:56
@d-gubert

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot added the type: feature Pull requests that introduces new feature label Jul 27, 2026
@d-gubert
d-gubert marked this pull request as ready for review July 27, 2026 17:00
@d-gubert
d-gubert requested review from a team as code owners July 27, 2026 17:00

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 4 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread .github/workflows/ci.yml
The tests-done aggregation job still referenced the old
test-api-apps-node-ee job in its needs array and result check, which no
longer exists after the rename to test-api-apps-deno-ee. Point both at
the new job id so the workflow resolves.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzzSPVtd9ZcpaezJQtw6mm
@ggazzo ggazzo added the stat: QA assured Means it has been tested and approved by a company insider label Jul 27, 2026
@dionisio-bot dionisio-bot Bot added the stat: ready to merge PR tested and approved waiting for merge label Jul 27, 2026
@dionisio-bot
dionisio-bot Bot added this pull request to the merge queue Jul 27, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 27, 2026
@ggazzo
ggazzo merged commit b27e38c into develop Jul 27, 2026
56 checks passed
@ggazzo
ggazzo deleted the claude/apps-engine-runtime-swap-a1h7jc branch July 27, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stat: QA assured Means it has been tested and approved by a company insider stat: ready to merge PR tested and approved waiting for merge type: feature Pull requests that introduces new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants