ci: enhance our test environment setup#4291
Conversation
ERROR: util.isRegExp is not a function
TypeError: util.isRegExp is not a function
at merge (/home/runner/work/less.js/less.js/packages/less/node_modules/clean-css/lib/utils/compatibility.js:122:44)
at Compatibility.toOptions (/home/runner/work/less.js/less.js/packages/less/node_modules/clean-css/lib/utils/compatibility.js:159:10)
at new CleanCSS (/home/runner/work/less.js/less.js/packages/less/node_modules/clean-css/lib/clean.js:44:61)
at CleanCSSProcessor.process (/home/runner/work/less.js/less.js/packages/less/node_modules/less-plugin-clean-css/lib/clean-css-processor.js:40:26) |
Error: Command failed: node test/browser/generator/runner.js
/home/runner/work/less.js/less.js/packages/less/node_modules/puppeteer-core/lib/cjs/puppeteer/util/disposable.js:9
Symbol.dispose ??= Symbol('dispose');node <= 14 not support |
|
@matthew-dean @puckowski any suggestion ? |
|
Thank you for putting this together. I am fine with updating clean-css at a later time (current version used by Less.js is fairly old) and adding Node 23 support at a later time. I can help test and contribute a PR for that. I am also fine with dropping Node versions no longer is maintenance. Disappointing about Windows-2022. I'll take a look at the Puppeteer repository and see what the plans are, if any, for serial testing. PR diff seems reasonable to me. |
|
I don't want to derail this, but in the meantime since using Puppeteer, I think Playwright has gotten much more mature. @iChenLei Does Puppeteer have the support limitations you list? If not, I think we should switch to that. |
Ok, let me try |
Run npx playwright install chromium
npx: installed 2 in 1.[4](https://github.com/less/less.js/actions/runs/12219190415/job/34085524282?pr=4291#step:6:5)01s
You are running Node.js 12.22.12.
Playwright requires Node.js 14 or higher.
Please update your version of Node.js. |
|
@puckowski @matthew-dean Please review, thanks.
|
|
I will try to review PR sometime today (12/08/24). |
puckowski
left a comment
There was a problem hiding this comment.
Node 14, 16, 18, 20, and 22 support is great. The dependency logic makes sense to me.
I am glad you got macos-latest and windows-latest to work.
Allowing Node 23 to fail will be a good reminder that we need to work on it.
I left a couple of non-blocking comments (can be addressed later if CI becomes flaky), but overall this PR looks good to me!
* fix: pptr timeout issue * fix: try again * chore: fix pptr timeout issue * fix: test scripts * chore: drop node 10/12/14 * fix: node 23 deprecated api * chore: tru again * fix: windows * fix: windows is * chore: test node14 * fix: drop node v10/v12/v14 support * chore: remove sandbox config * fix: add sandbox config * ci: try playwright * chore: update ci yml * chore: test node * chore: add all test * fix: yml grammer * chore: try topo * chore: node23 test * chore: nodejs v23 * fix: yml grammer * fix: steps's id * chore: final test config * chore: update folder name * chore: refactor * chore: update title * chore: improve code quality fix: node23 ci (less#4309) * fix: node23 ci * Update package-lock.json * chore: rename node23 ci * chore: rename
What does this PR do?
v14due to Playwright requirements, removing tests for v10 and v12. This is an improvement over Puppeteer, which requires a minimum ofv16.Checklist:
Previous PR desc
What does this PR do?
Conclusion:
Removed tests for Node.js (10, 12, 14) as these versions have reached end-of-life. Used Windows-2019 for Windows support due to known issues. Node 23 tests were not added because of the failing less-plugin-clean-css test.
Checklist: