-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Node v18 #12277
Upgrade to Node v18 #12277
Conversation
Some tests fail consistently. Looking at
Output
|
Most likely, it's some Docker image dependencies issue since render tests run without errors if I upgrade the node version to |
Also, the test diffs are pretty minimal https://output.circle-artifacts.com/output/job/54c779f1-5ac2-42ff-8d2d-9542b197cb54/artifacts/0/test/integration/render-tests/index.html However, stars' rasterization looks different |
I think that the first change isn't an issue and can be fixed with a higher "allowed" value, however different stars on local vs. CI would add a considerable burden to working with globe tests. Looking at the other software versions with this change I see a major upgrade to docker-compose (1.28.6 to v2.6.0) and a patch to ubuntu (20.04.2 to 20.04.4), I wonder if one of these could be responsible? cc @karimnaaji |
Agree! We'd need to investigate the different stars on local vs. CI
I don't think that either docker-compose or ubuntu patch update might be responsible for this 🤔 |
After some debugging, it appears that the render tests start failing after upgrading the sudo apt-get --only-upgrade --dry-run install libglx-mesa0 OutputThe following additional packages will be installed:
libdrm-amdgpu1 libegl-mesa0 libgbm1 libgl1-mesa-dri libglapi-mesa
The following packages will be upgraded:
libdrm-amdgpu1 libegl-mesa0 libgbm1 libgl1-mesa-dri libglapi-mesa libglx-mesa0
6 upgraded, 0 newly installed, 0 to remove and 245 not upgraded.
Inst libdrm-amdgpu1 [2.4.102-1ubuntu1~20.04.1] (2.4.107-8ubuntu1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Inst libegl-mesa0 [20.2.6-0ubuntu0.20.04.1] (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64]) []
Inst libgbm1 [20.2.6-0ubuntu0.20.04.1] (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64]) []
Inst libgl1-mesa-dri [20.2.6-0ubuntu0.20.04.1] (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64]) []
Inst libglx-mesa0 [20.2.6-0ubuntu0.20.04.1] (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64]) []
Inst libglapi-mesa [20.2.6-0ubuntu0.20.04.1] (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Conf libdrm-amdgpu1 (2.4.107-8ubuntu1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Conf libegl-mesa0 (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Conf libgbm1 (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Conf libgl1-mesa-dri (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Conf libglx-mesa0 (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64])
Conf libglapi-mesa (21.2.6-0ubuntu0.1~20.04.2 Ubuntu:20.04/focal-updates, Ubuntu:20.04/focal-security [amd64]) |
If we switch back to |
2de7490
to
99302a3
Compare
9ec9ad5
to
0f93f83
Compare
Cross-posting some notes after debugging the upgrade to node v14.21.0 from #12268 (comment) Upgraded Docker image I've tried different combinations of Chrome flags, including enabling VaAPI, but it won't help. Flags--ignore-gpu-blocklist --use-gl=desktop
--ignore-gpu-blocklist --use-gl=egl
--ignore-gpu-blocklist --use-gl=desktop --enable-gpu-rasterization
--ignore-gpu-blocklist --use-gl=desktop --enable-features=VaapiVideoDecoder
--ignore-gpu-blocklist --use-gl=desktop MESA_GLSL_CACHE_DISABLE=false We can fix the rasterization issue by removing the However, removing these args breaks icon resampling (23 tests failed, see no-desktop-and-ignore-gpu-blocklist.html). See also #7331 (comment) |
0f93f83
to
7a9478e
Compare
I see the same issue with Firefox after upgrading to the Chrome, however, works fine. |
The rasterization issue might be related to this change in Mesa. From Mesa 21.0.0 Release Notes:
See also this discussion https://gitlab.freedesktop.org/mesa/mesa/-/issues/4171 Debug info
We can try downgrading mesa with |
7a9478e
to
c8694b6
Compare
c8694b6
to
c160a7a
Compare
Use Node v18 API in `node-loader`
91a6bff
to
85b575c
Compare
Unit tests are failing with Node v18 because they hang up on the mapbox-gl-js/src/util/throttled_invoker.js Lines 19 to 22 in ed8d802
However, if you load the
|
Found a similar issue facebook/react#20756. Since node.js 15, there is now a global |
- run: | ||
name: Setup Node.js and Yarn | ||
command: | | ||
choco uninstall nvm.portable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an issue with backslashes in paths with the NPM package with the Node v18 version using NVM. The Chocolately version seems to be working fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good except the parallelism changes for Safari — let's remove those in this PR since they're unrelated to Node v18 (and it will likely cause merge conflicts with a parallel PR for WebGL2), and follow up in another PR.
buildspec.yml
Outdated
@@ -3,7 +3,7 @@ version: 0.2 | |||
phases: | |||
install: | |||
runtime-versions: | |||
nodejs: 18 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still an issue with Unknown runtime version named '18' of nodejs. This build image has the following versions: 12, 14
There is some issue with the CodeBuild worker cannot log into the NPM registry, I will look into it separately. |
This PR upgrades
mapbox-gl
to Node v18.node-loader
cimg/node:18.16-browsers
version