Merged
Size
S
Change Breakdown
CI/CD40%
Bug Fix35%
Config15%
Dependencies10%
#28262ci: Fix Node 25 build failure and benchmark OOM on master (no-changelog)

Node 25 builds fixed, benchmark memory bumped

CI infrastructure is getting two fixes: builds now work on Node 25 by pinning avsc to 5.7.9, and benchmark runners get 6GB of heap space to prevent out-of-memory failures on constrained hardware.

The build pipeline was breaking on Node 25. The avsc serialization library used an internal Node API called SlowBuffer that was permanently removed in the 25.0.0 release, causing Kafka node class loading to fail whenever metadata generation ran. Pinned avsc to 5.7.9, where the problematic code path is gone.

Benchmark jobs were also running out of memory on 2 vCPU runners during build phases. Added a 6GB heap size limit via NODE_OPTIONS so those jobs have enough room to complete without being killed.

Both fixes land in the CI configuration — one in the package dependency overrides, the other in the benchmark workflow environment variables. They're unglamorous but essential: broken CI means blocked merges.

View Original GitHub Description

Summary

  • Override avsc to 5.7.9 to fix SlowBuffer removal in Node 25 (avsc 5.7.6 uses new SlowBuffer() at module load time, which was permanently removed in Node 25.0.0, causing Kafka node class loading to fail during n8n-generate-metadata)
  • Add NODE_OPTIONS --max-old-space-size=6144 to benchmark workflow to prevent OOM during build on 2vcpu runners

Related Linear tickets, Github issues, and Community forum posts

Review / Merge checklist

  • I have seen this code, I have run this code, and I take responsibility for this code.
  • PR title and summary are descriptive. (conventions) <!-- **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** -->
  • Docs updated or follow-up ticket created.
  • Tests included. <!-- A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. -->
  • PR Labeled with Backport to Beta, Backport to Stable, or Backport to v1 (if the PR is an urgent fix that needs to be backported)
© 2026 · via Gitpulse