Skip to content

[2.x] Update CI node version to 24#8853

Closed
limzykenneth wants to merge 2 commits into
processing:dev-2.0from
limzykenneth:2.0-ci-update
Closed

[2.x] Update CI node version to 24#8853
limzykenneth wants to merge 2 commits into
processing:dev-2.0from
limzykenneth:2.0-ci-update

Conversation

@limzykenneth
Copy link
Copy Markdown
Member

Changes:
All CI now runs Node.js 24 where needed, this should have LTS for quite awhile yet

@p5-bot
Copy link
Copy Markdown

p5-bot Bot commented May 31, 2026

Continuous Release

CDN link

Published Packages

Commit hash: 4b2c166

Previous deployments

a7d9d37


This is an automated message.

@Vaivaswat2244
Copy link
Copy Markdown
Contributor

Hey @limzykenneth! Here, Chrome is present on the runner but WebDriverIO fails to establish a ChromeDriver session within the timeout. No ChromeDriver process ever starts, which is why Vitest times out waiting for the browser session.
From local testing, the root cause appears to be that WebDriverIO's automatic ChromeDriver download/unpack step is creating the destination folder but failing to place the binary inside it, so ChromeDriver never launches. The download URL itself is reachable and the zip is valid. manually unpacking it to the expected path (/tmp/chromedriver/linux-/chromedriver-linux64/chromedriver) and then running the tests works fine, which confirms the test infrastructure itself (Vitest + WebDriverIO + Chrome) is sound.
I wasn't able to fully reproduce and fix this locally since the unpack failure appears to be environment-specific. However the CI runner shows the same symptom — ChromeDriver session timeout — so the underlying cause is likely the same.
A possible fix worth trying is adding an explicit ChromeDriver install step to the CI workflow before running tests, to bypass WebDriverIO's automatic download entirely:

- name: Install ChromeDriver
  run: npx wdio install chromedriver

This would ensure ChromeDriver is present and executable before Vitest tries to connect to it, regardless of whether WebDriverIO's auto-download works in that environment.
Happy to help test further if you can point me to a way to reproduce the CI environment more closely.

Additionally,
This didn't fail on Node 20 because the GitHub Actions runner image tied to Node 20 shipped with an older Chrome version that WebDriverIO 9.0.7 was compatible with. Bumping to Node 24 pulled in a newer runner image with Chrome 148, which WebDriverIO 9.0.7 can't reliably download a matching ChromeDriver for or connect to.

@limzykenneth
Copy link
Copy Markdown
Member Author

Thanks @Vaivaswat2244! I can replicate this locally and it seems to be something flaky, I'll look into it here and might switch to playwright instead

@limzykenneth
Copy link
Copy Markdown
Member Author

Nevermind this for now. I plan to do a more complete dependencies updates for 2.x soon and it's more streamlined to do it all then.

@Vaivaswat2244
Copy link
Copy Markdown
Contributor

Sure! Please lmk if you need any help around this. Thanks!

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