Run the supporters workflow on Node 24, not 20 - #7
Conversation
supabase-js requires Node 22+ for native WebSocket, so createClient threw before the script could query anything. The workflow has never succeeded: it was added in 1.1.0 and would have failed every Monday since, silently, because nobody was watching a scheduled job that had never run. 24 rather than the minimum 22, to match Vercel and local.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR updates the GitHub Actions workflow for the supporters update script to run on Node 24 instead of Node 20 so that supabase-js can use native WebSocket without throwing during client creation. Sequence diagram for the updated supporters workflow using Node 24sequenceDiagram
actor GitHubActions
participant setup_node_action
participant Node_runtime
participant update_supporters_script
participant Supabase
GitHubActions->>setup_node_action: actions/setup-node@v4 node-version 24
setup_node_action->>Node_runtime: install Node 24
GitHubActions->>update_supporters_script: run scripts/update-supporters.mjs
update_supporters_script->>Supabase: createClient
alt [Node 20]
Supabase-->>update_supporters_script: Error native WebSocket not found
else [Node 24]
Supabase-->>update_supporters_script: SupabaseClient created
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Warning Review limit reached
Next review available in: 41 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
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. Comment |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- Consider sourcing the Node version from a single place (e.g., an
enginesfield inpackage.jsonor a shared workflow input) so this workflow and other environments stay in sync if you bump Node in the future.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Consider sourcing the Node version from a single place (e.g., an `engines` field in `package.json` or a shared workflow input) so this workflow and other environments stay in sync if you bump Node in the future.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Pull request overview
Updates the scheduled “Update supporters” GitHub Actions workflow to run on a newer Node.js version so the scripts/update-supporters.mjs job can successfully instantiate @supabase/supabase-js (which requires Node 22+ for native WebSocket support).
Changes:
- Bump
actions/setup-nodenode-versionfrom 20 to 24 for the supporters workflow. - Add inline rationale comments explaining the Supabase/WebSocket requirement and why Node 24 was chosen.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Found by dispatching it for the first time.
@supabase/supabase-jsneeds Node 22+ for native WebSocket, socreateClientthrew before the script could query anything:The workflow has never succeeded. It shipped in 1.1.0 and would have failed every Monday since, unnoticed, because nothing watches a scheduled job that has never run.
db-keepalive.ymlis unaffected: it pins no Node version and does not use supabase-js.24 rather than the minimum 22, to match Vercel and local.
Summary by Sourcery
CI: