Skip to content

ci(release): pin node to LTS to avoid undici break#2

Merged
Xe merged 1 commit into
mainfrom
Xe/fix-auto-release
Jun 2, 2026
Merged

ci(release): pin node to LTS to avoid undici break#2
Xe merged 1 commit into
mainfrom
Xe/fix-auto-release

Conversation

@Xe
Copy link
Copy Markdown
Collaborator

@Xe Xe commented Jun 2, 2026

Problem

The Cut Release workflow fails in semantic-release's verifyConditions step:

InvalidArgumentError: invalid onRequestStart method
  ... TypeError: fetch failed
  ... HttpError: invalid onRequestStart method (status 500)

Root cause

.github/workflows/release.yaml pinned actions/setup-node to node-version: "latest", which resolved to Node.js 26 on the runner (confirmed by the error's user-agent: @semantic-release/github v12.0.8 octokit-core.js/7.0.6 Node.js/26).

Node 26 bundles a newer undici whose request-dispatcher interceptor API changed and now rejects the onRequestStart interceptor that octokit/semantic-release registers. Every outbound fetch (e.g. GET /repos/tigrisdata/objgit) throws before reaching the GitHub API, killing the job.

This is a Node/undici version incompatibility — not a token, permissions, or release-config problem.

Fix

Pin to lts/* (currently the Node 24 line), which ships an undici compatible with the octokit stack.

Verification

Re-run the Cut Release workflow via workflow_dispatch and confirm the Setup Node step shows Node 24.x and semantic-release --debug gets past verifyConditions without the onRequestStart error.

"latest" resolved to Node 26 on the runner, whose bundled undici
rejects the onRequestStart interceptor that octokit/semantic-release
registers, so every fetch failed in verifyConditions. Pin to lts/*
(Node 24 line) which ships a compatible undici.

Signed-off-by: Xe Iaso <xe@tigrisdata.com>
Assisted-by: Claude Opus 4.8 via Claude Code
Signed-off-by: Xe Iaso <xe@tigrisdata.com>
@Xe Xe merged commit cfab291 into main Jun 2, 2026
9 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.

2 participants