-
-
Notifications
You must be signed in to change notification settings - Fork 499
v8: fix and update to 13.5.212.10 #6863
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
Conversation
- support latest stable version 13.5.212.10 - tested on Windows only - fix syntax to configure "runtimes" - only build static monolith flavor - patch to fix build configuration of a third party - erase previous version 10.0.58
|
@waruqi sorry for creating a new PR. Previous one was broken, GitHub couldn't process my last commits somehow. Follow-up:
Done
I tried |
- don't need to reset core.longpaths option after running "gclient" - use better API functions to get data from "package" - fix code style
Untested for macOS, it might be enough.
|
Linux (ubuntu-latest, static, debug): Looks like CI is not scaled for V8: it does take time/CPU/RAM/SSD. I haven't looked at all logs but I bet most of them failed due to resource exhaustion. Windows (MSVC 2022, static, x64, MT): Builds passed for versions 13.3.415.19 and 13.4.114.19. Is it required to pass all CI tests? |
If we cannot confirm that the package works properly due to CI resource limits. One solution is to improve CI and try to increase the resource limits. If that is not possible, at least the contributors need to confirm that the tests pass on their local machines. |
|
Is it possible to add some kind of CI flags in xmake scripts/test.lua? e.g.
This way no need to increase storage space in CI, and it would be better in the long term anyway. The amount of versions will eventually be too high to request an even more growing storage space on CI side. I can build in both environments locally (linux + windows). Is it possible to restrict compatibility of a package? |
|
The default is to install them in parallel. This can greatly improve the efficiency of test installation for most small libraries. However, we cannot distinguish some large libraries and implement serial compilation. I think you can solve this problem by submitting one version at a time instead of modifying multiple versions at once. |
|
I removed other two versions, if it works on ci, you can open two new prs to add left two versions. |
- configure a dummy Git account, required to use 'gclient' - remove patch, build issue seems to have been fixed by Google.
|
Thanks, I was going to remove them eventually. Better start with the latest version for now anyway. I fixed two issues this time:
|
|
Much better. Windows 2019 is not supported afaik for V8 anyway. Linux storage space issue though. Can it be configured to increase storage space in CI? |
you can add on_check to disable it.
You can increase it in this pr if it can. |
Not tested locally and last CI workflow didn't work.
Attempt to free disk space to provide enough storage to build V8 library.
Thanks, I added some checks and restrictions (Linux / Windows / static / release).
I'm using an action to free disk space (common technique for free/public plans). We'll see if it is enough, and hopefully don't break things. |
|
I'll see if I can fix builds for Archlinux, Fedora and Linux arm64 (locally first). |
Ignore MD compilation; it would need tests to actually make V8 compliant with MD, if possible.
Should fix errors of compilation due to missing headers.
|
Attempt to fix Archlinux and Fedora. I'm wondering if the added action for ubuntu workflow can cause issues for other packages? |
|
Sorry check for MT was too global instead of scoped for Windows. |
|
Alright, so I removed the redundant check, only readonly runtimes is used. Afaik, it is fine now. Let me know if something needs to be changed before merging. |
nothing, but please fix left ci errors. |
packages/v/v8/xmake.lua
Outdated
| -- Only configured and tested for: | ||
| assert(not package:is_debug() and not package:config("shared"), "package(v8): only configured for static + release usage") | ||
| assert(not package:is_debug() and not package:config("shared"), "package(v8): only configured for static + release usage.") | ||
| assert(not is_host("arch"), "package(v8): Archlinux is not supported.") |
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.
arch? no this name, only linux.
and why use is_host? v8 is library, we should use package:is_plat
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.
I'll change to use package:is_plat everywhere instead of is_host then.
But I don't understand about "only linux". How can I deduce whether it is Archlinux / Fedora to only disable them, to fix CI errors?
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.
use linuxos.name
is_host("linux") + linuxos.name()
BTW, Why are libraries still bundled with distributions? We should fix them.
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.
Alright, I changed it.
Why are libraries still bundled with distributions? We should fix them.
What do you mean? That building V8 for Archlinux / Fedora should be supported and that it should work?
Requires:
xmake v2.9.9 to use
targetoption when building with GN tool.Features:
Notes:
add_patchesis not used, because afaik, it is not meant to run in this context.gclientis ran duringon_installcallback.add_patcheswould try to apply the patch before execution ofgclient, that is before files to be patched are even cloned/pulled.see previous v8: fix and update to 13.5.212.10 #6854
Questions:
(1) Is testing on Linux + macOS required to merge?
(2) Is backward compatibility with version 10.0.58 required to merge?