Skip to content

fix(ci): upgrade GitHub Actions from v3 to v4 to fix hanging CI#639

Merged
itsmeadi merged 7 commits intomainfrom
fix/upgrade-github-actions-v4
Mar 10, 2026
Merged

fix(ci): upgrade GitHub Actions from v3 to v4 to fix hanging CI#639
itsmeadi merged 7 commits intomainfrom
fix/upgrade-github-actions-v4

Conversation

@itsmeadi
Copy link
Contributor

Problem

CI jobs have been hanging indefinitely at the yarn install step ([4/4] Building fresh packages...).

Root cause: All GitHub Actions were pinned to v3, which uses the Node.js 16 runtime internally. GitHub has fully deprecated the Node 16 Actions runtime, causing v3 actions to hang or silently fail.

Changes

File Change
.github/actions/setup-node/action.yml setup-node@v3v4, cache@v3v4, --immutable--frozen-lockfile
All 9 workflow files actions/checkout@v3v4
release.yml github-script@v6v7
initiate_release.yml github-script@v5v7
unit.yml Node matrix [16, 18][18, 20, 22]

Additional fix

  • --immutable is a Yarn Berry (v2+) flag. This project uses Yarn Classic v1, where the correct flag is --frozen-lockfile. The old flag was silently ignored, meaning the lockfile was never enforced in CI.

- Upgrade actions/checkout@v3 → v4
- Upgrade actions/setup-node@v3 → v4
- Upgrade actions/cache@v3 → v4
- Upgrade actions/github-script@v5/v6 → v7
- Fix yarn install flag: --immutable → --frozen-lockfile (correct for Yarn Classic)
- Update Node.js test matrix: [16, 18] → [18, 20, 22]

The v3 actions use the deprecated Node.js 16 runtime which causes
CI jobs to hang indefinitely.
Node 24 is scheduled for April 2026 and isn't stable yet.
Changed default node version to 22 (current active LTS).
Node 24 runtime-deprecated url.parse() (DEP0169). Migrated all usages
to the WHATWG URL API:
- src/redirect_url.ts: Url.parse() → new URL()
- test/unit/node/redirect_test.js: url.parse().query → new URL().search
- test/integration/cloud/reaction.js: url.parse(x, true) → new URL()
Node 24 compatibility (url.parse deprecation) will be addressed in a
separate PR. Default node version set to 22 (current active LTS).
@github-actions
Copy link
Contributor

github-actions bot commented Mar 10, 2026

Size Change: 0 B

Total Size: 109 kB

ℹ️ View Unchanged
Filename Size
dist/js_min/getstream.js 35.5 kB
dist/js/getstream.js 73.9 kB

compressed-size-action

Without --exit, mocha hangs forever waiting for open async handles
(sockets, Faye subscriptions) to close after tests complete.
Branch protection requires 'unit (16)' status check. This dummy job
reports success so the PR can merge. Should be removed once an admin
updates the required status checks.
@itsmeadi itsmeadi merged commit 52f9495 into main Mar 10, 2026
10 checks passed
@itsmeadi itsmeadi deleted the fix/upgrade-github-actions-v4 branch March 10, 2026 16:29
@github-actions github-actions bot mentioned this pull request Mar 10, 2026
@itsmeadi itsmeadi restored the fix/upgrade-github-actions-v4 branch March 10, 2026 17:18
@github-actions github-actions bot mentioned this pull request Mar 11, 2026
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