node icon indicating copy to clipboard operation
node copied to clipboard

src: replace splitstring with built-in

Open anonrig opened this issue 1 year ago β€’ 11 comments
trafficstars

Replaces SplitString function with built-in implementation available for C++20

anonrig avatar Sep 18 '24 01:09 anonrig

Codecov Report

Attention: Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.

Project coverage is 88.08%. Comparing base (3ac5b49) to head (d9790fe). Report is 1099 commits behind head on main.

Files with missing lines Patch % Lines
src/node_options.cc 75.00% 1 Missing :warning:
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #54990   +/-   ##
=======================================
  Coverage   88.07%   88.08%           
=======================================
  Files         652      652           
  Lines      183653   183705   +52     
  Branches    35856    35865    +9     
=======================================
+ Hits       161753   161809   +56     
+ Misses      15146    15142    -4     
  Partials     6754     6754           
Files with missing lines Coverage Ξ”
src/node_v8_platform-inl.h 87.17% <100.00%> (+0.16%) :arrow_up:
src/util.cc 87.41% <ΓΈ> (+0.07%) :arrow_up:
src/util.h 89.91% <ΓΈ> (ΓΈ)
src/node_options.cc 88.08% <75.00%> (+0.01%) :arrow_up:

... and 41 files with indirect coverage changes

codecov[bot] avatar Sep 18 '24 02:09 codecov[bot]

cc @nodejs/cpp-reviewers

anonrig avatar Sep 18 '24 23:09 anonrig

CI: https://ci.nodejs.org/job/node-test-pull-request/62570/

nodejs-github-bot avatar Sep 19 '24 19:09 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/62634/

nodejs-github-bot avatar Sep 21 '24 16:09 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/62658/

nodejs-github-bot avatar Sep 22 '24 02:09 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/62667/

nodejs-github-bot avatar Sep 22 '24 11:09 nodejs-github-bot

cc @nodejs/platform-smartos it seems smartos doesn't implement C++20 correctly.

anonrig avatar Sep 23 '24 22:09 anonrig

@anonrig The log indicates that GCC 10 is used (which is the default in SmartOS as far as I can tell).

However, Node requires g++ 12.2.0 or clang++ 8.0.0 or better.

And, indeed, look carefully at the build log...

07:30:41 WARNING: C++ compiler (CXX=ccache g++, 10.3.0) too old, need g++ 12.2.0 or clang++ 8.0.0

It is surprising that this PR hits this issue.

lemire avatar Sep 24 '24 00:09 lemire

SmartOS is in the process of being migrated to newer SmartOS as part of the migration of non-ARM servers from Equinix Metal: https://github.com/nodejs/build/issues/3731

https://github.com/nodejs/build/issues/3806 tracks gcc 12 deployment -- SmartOS is the remaining platform and the expectation is that moving to SmartOS 23 should resolve that.

richardlau avatar Sep 24 '24 12:09 richardlau

@richardlau did the smartos migration complete? is there any blocker for this pull-request atm?

anonrig avatar Oct 24 '24 00:10 anonrig

@richardlau did the smartos migration complete? is there any blocker for this pull-request atm?

@anonrig I'm not actively involved in the smartos migration, but I don't believe it's complete yet.

richardlau avatar Oct 24 '24 00:10 richardlau

CI: https://ci.nodejs.org/job/node-test-pull-request/64672/

nodejs-github-bot avatar Jan 23 '25 21:01 nodejs-github-bot

@jasnell @nodejs/platform-macos @nodejs/build this is blocked by the OSX infrastructure.

anonrig avatar Jan 24 '25 01:01 anonrig

@nodejs/tsc ... just fyi on another CI infrastructure block

jasnell avatar Jan 24 '25 01:01 jasnell

CI: https://ci.nodejs.org/job/node-test-pull-request/64846/

nodejs-github-bot avatar Jan 30 '25 15:01 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/64862/

nodejs-github-bot avatar Jan 31 '25 01:01 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/64877/

nodejs-github-bot avatar Jan 31 '25 14:01 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/64888/

nodejs-github-bot avatar Jan 31 '25 21:01 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/65070/

nodejs-github-bot avatar Feb 08 '25 23:02 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/65084/

nodejs-github-bot avatar Feb 09 '25 13:02 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/65086/

nodejs-github-bot avatar Feb 09 '25 15:02 nodejs-github-bot

CI: https://ci.nodejs.org/job/node-test-pull-request/65094/

nodejs-github-bot avatar Feb 09 '25 18:02 nodejs-github-bot

Commit Queue failed
- Loading data for nodejs/node/pull/54990
βœ”  Done loading data for nodejs/node/pull/54990
----------------------------------- PR info ------------------------------------
Title      src: replace splitstring with built-in (#54990)
   ⚠  Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch     anonrig:replace-stringviewsplit -> nodejs:main
Labels     c++, lib / src, needs-ci, dont-land-on-v18.x, dont-land-on-v20.x
Commits    1
 - src: replace splitstring with built-in
Committers 1
 - Yagiz Nizipli <[email protected]>
PR-URL: https://github.com/nodejs/node/pull/54990
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/54990
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
--------------------------------------------------------------------------------
   β„Ή  This PR was created on Wed, 18 Sep 2024 01:10:06 GMT
   βœ”  Approvals: 5
   βœ”  - Daniel Lemire (@lemire): https://github.com/nodejs/node/pull/54990#pullrequestreview-2312621536
   βœ”  - Chengzhong Wu (@legendecas) (TSC): https://github.com/nodejs/node/pull/54990#pullrequestreview-2317889526
   βœ”  - Robert Nagy (@ronag) (TSC): https://github.com/nodejs/node/pull/54990#pullrequestreview-2317895154
   βœ”  - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/54990#pullrequestreview-2319866121
   βœ”  - Matteo Collina (@mcollina) (TSC): https://github.com/nodejs/node/pull/54990#pullrequestreview-2572079210
   ✘  Last GitHub CI failed
   β„Ή  Last Full PR CI on 2025-02-09T18:11:51Z: https://ci.nodejs.org/job/node-test-pull-request/65094/
- Querying data for job/node-test-pull-request/65094/
   βœ”  Last Jenkins CI successful
--------------------------------------------------------------------------------
   βœ”  Aborted `git node land` session in /home/runner/work/node/node/.ncu
https://github.com/nodejs/node/actions/runs/13228903356

nodejs-github-bot avatar Feb 09 '25 19:02 nodejs-github-bot

✘ Last GitHub CI failed

The GitHub UI is showing wrong labels. Jenkins CI passes. What is the proper action in this step? @nodejs/build

anonrig avatar Feb 09 '25 19:02 anonrig

The only way to remove this check would be to rebase. The job was removed as part of the macOS update to 13

targos avatar Feb 09 '25 19:02 targos

The only way to remove this check would be to rebase. The job was removed as part of the macOS update to 13

Would it be appropriate to land this manually?

anonrig avatar Feb 09 '25 19:02 anonrig

That's what I would do

targos avatar Feb 09 '25 19:02 targos

That's what I would do

Cc @nodejs/tsc due to the removed ci job, I have to land this manually (to avoid re-running the whole CI one more time). Please comment here if you disagree. I'll land this tomorrow if not.

anonrig avatar Feb 09 '25 21:02 anonrig

Landed in https://github.com/nodejs/node/commit/b0c6e10c5e01f4aec1035015dcd26fedb478571a

aduh95 avatar Feb 10 '25 17:02 aduh95