Skip to content
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

LoongArch to Experimental tier (CI environment) #3540

Open
shipujin opened this issue Oct 25, 2023 · 110 comments
Open

LoongArch to Experimental tier (CI environment) #3540

shipujin opened this issue Oct 25, 2023 · 110 comments

Comments

@shipujin
Copy link
Member

I would like to discuss here how to put LoongArch machine access nodejs/build CI environment, test machine for LoongArch nodejs.

Best regards

@shipujin
Copy link
Member Author

shipujin commented Oct 25, 2023

@sxa #3511 (comment)
Sorry, I've been testing nodejs(main v18. x v20.x), reply late

The question in my mind is what are we expecting to gain from adding it to the CI?

LoongArch platform can follow up the latest status of node, solve problems in the process, and promote the development of loong64-node.

  1. What is the outlook for getting the tests passing cleanly? If it was added into the regular CI then we'd want it to run without errors otherwise it will cause problems interpreting the test results potentially resulting in delays to validating PRs.

OS: LoongArch Fedora remix

latest v18/v20/main

wget -c https://nodejs.org/download/release/latest-v18.x/node-v18.18.2.tar.gz
wget -c https://nodejs.org/download/release/latest-v20.x/node-v20.9.0.tar.gz
git clone https://github.com/nodejs/node.git

may need to apply this patch

nodejs/node#50209
nodejs/node#50363
#v20.x: may need to apply this patch
nodejs/node#50210

build

./configure --openssl-no-asm
time make -j4

check

export OPENSSL_CONF="./deps/openssl/openssl/apps/openssl.cnf"
time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

latest-v18/latest-v20/main

The latest test-ci-js version of v18/v20/main failed 3 tests

test/parallel/test-crypto-sign-verify.js
test/parallel/test-vm-global-setter.js
test/parallel/test-vm-module-synthetic.js
  1. What is the performance of the systems compared to the other architectures (since that affects the execution time of CI jobs)? I suspect that it us unlikely that we could integrate it into the regular CI without having a significant negative impact on the run times of the PR testing.

latest-v18

(1) time make -j4

...
real    87m53.900s
user    215m25.687s
sys     6m22.889s

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node /home/shipujin/node-v18.18.2/test/parallel/test-crypto-sign-verify.js
out/Release/node /home/shipujin/node-v18.18.2/test/parallel/test-vm-global-setter.js
out/Release/node --experimental-vm-modules /home/shipujin/node-v18.18.2/test/parallel/test-vm-module-synthetic.js
make: *** [Makefile:539:test-ci-js] Error 1

real    25m25.999s
user    37m11.585s
sys     1m44.890s

latest-v20

(1) time make -j4

...
real    95m7.574s
user    247m31.239s
sys     6m45.546s

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node /home/shipujin/LTS/node-v20.9.0/test/parallel/test-crypto-sign-verify.js
out/Release/node /home/shipujin/LTS/node-v20.9.0/test/parallel/test-vm-global-setter.js
out/Release/node --experimental-vm-modules /home/shipujin/LTS/node-v20.9.0/test/parallel/test-vm-module-synthetic.js
make: *** [Makefile:535: test-ci-js] Error 1
                                                                    
real    21m28.480s
user    34m21.144s
sys     3m20.023s

main

(1) time make -j4

...

real    93m59.754s
user    354m6.669s
sys     9m37.371s

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node /home/shipujin/node/test/parallel/test-crypto-sign-verify.js
out/Release/node /home/shipujin/node/test/parallel/test-vm-global-setter.js
out/Release/node --experimental-vm-modules /home/shipujin/node/test/parallel/test-vm-module-synthetic.js
make: *** [Makefile:535:test-ci-js] Error 1
                                                                    
real    27m55.096s
user    37m24.999s
sys     3m21.715s

Having said that, as Michael says, I'm not against having machines available for interested parties to progress the status of the port and work towards having it in place, and I can't think of any objection, given the assurances above, that it could be moved to being listed as an experimental platform.

There are two questions about the way LoongArch machine is provided, hope you can help me, thanks~
(1) How are LoongArch machines provided to nodejs?
I can provide a LoongArch machine, the machine runs in my company's machine room. Later I can provide an ssh access to the LoongArch machine ip, is this allowed?
(2) How to connect LoongArch machine to nodejs/build project for CI test?

Best regards

@nodejs/build @mhdawson @richardlau @sxa @targos

@targos
Copy link
Member

targos commented Oct 25, 2023

(2) How to connect LoongArch machine to nodejs/build project for CI test?

The machine must be able to run the Jenkins agent (Java 11 or 17)

@sxa
Copy link
Member

sxa commented Oct 25, 2023

(2) How to connect LoongArch machine to nodejs/build project for CI test?

The machine must be able to run the Jenkins agent (Java 11 or 17)

21'should also be acceptable now - I can't remember if the loongarch support was backported to JDK17

@shipujin
Copy link
Member Author

(2) How to connect LoongArch machine to nodejs/build project for CI test?

The machine must be able to run the Jenkins agent (Java 11 or 17)

Yes, the running system is java17.

[shipujin@bogon node]$ 
[shipujin@bogon node]$ java --version
openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment (Red_Hat-17.0.6.0.1-2.fc38) (build 17.0.5+1)
OpenJDK 64-Bit Zero VM (Red_Hat-17.0.6.0.1-2.fc38) (build 17.0.5+1, interpreted mode)
[shipujin@bogon node]$ 
[shipujin@bogon node]$ uname -a
Linux bogon 6.6.0-0.rc4.20231005git3006adf3be79.36.fc38.loongarch64 #1 SMP PREEMPT Sun Oct  8 14:18:09 CST 2023 loongarch64 GNU/Linux
[shipujin@bogon node]$ 

@shipujin
Copy link
Member Author

(1) How are LoongArch machines provided to nodejs?
I can provide a LoongArch machine, the machine runs in my company's machine room. Later I can provide an ssh access to the LoongArch machine ip, is this allowed?

There is still one question about the way of providing LoongArch machine, look forward to node-loong64 running successfully in the official CI process, thanks~

@targos
Copy link
Member

targos commented Oct 26, 2023

I think access by IP address and SSH is all we need to manage it and connect it to Jenkins.

@targos
Copy link
Member

targos commented Oct 26, 2023

Then it could be part of a nightly job like https://ci.nodejs.org/view/All/job/sxa-rvnodetest/

@shipujin
Copy link
Member Author

I think access by IP address and SSH is all we need to manage it and connect it to Jenkins.

Ok, thank you for your answer.

I will prepare the machine and the user password for accessing the LoongArch machine using ssh in these two days.
Which developer should I send the IP, user and password of the LoongArch machine to? Can I send it to you by email? Then configure "https://ci.nodejs.org/"

Best regards

@mhdawson
Copy link
Member

In terms of configuring access we use ssh keys, it would be better if we could send you a public key that you can added to the machine versus a userid/password.

@shipujin
Copy link
Member Author

In terms of configuring access we use ssh keys, it would be better if we could send you a public key that you can added to the machine versus a userid/password.

It is possible to add a public key. I will tell you here after I configure the machine. I can help you put the public key into the nodejs-LoongArch machine.

Best regards

@shipujin
Copy link
Member Author

shipujin commented Oct 31, 2023

@nodejs/build @mhdawson @richardlau @sxa @targos @nodejs/platform-loong64
Hi,
I have prepared the LoongArch machine and I am configuring the network.

There are two questions about the way LoongArch machine is provided, hope you can help me, thanks~

  1. How is the ip address of the machine provided?
    Is it to send email to send machine ip address

  2. What public keys need to be put into the system? Configure build-loong64-CI
    Please send me the download address of the public key, and I will put them into the system for ssh login.

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 1, 2023

Hello, everyone
I have finished LoongArch machine and network configuration is complete

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

[shipujin@Sunhaiyong ~]$ 
[shipujin@Sunhaiyong ~]$ uname -a
Linux Sunhaiyong 6.6.0-rc7 #1 SMP PREEMPT Fri Oct 27 01:55:14 UTC 2023 loongarch64 GNU/Linux
[shipujin@Sunhaiyong ~]$ 
[shipujin@Sunhaiyong ~]$ nproc 
32
[shipujin@Sunhaiyong ~]$ free -m
               total        used        free      shared  buff/cache   available
Mem:          130176       24700       98261          23       16378      105476
Swap:              0           0           0
[shipujin@Sunhaiyong ~]$ 
[shipujin@Sunhaiyong ~]$ java --version
openjdk 17.0.8-internal 2023-07-18
OpenJDK Runtime Environment (build 17.0.8-internal+0-adhoc..jdk17-17ugit)
OpenJDK 64-Bit Server VM (build 17.0.8-internal+0-adhoc..jdk17-17ugit, mixed mode)

check nodejs/node 20231101-main

#### main
(1) time make -j32

...

real    17m38.731s                                                  
user    450m48.870s                                                 
sys     16m42.198s

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci


  ...

Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535:test-ci-js] Error 1
                                                                    

real    16m2.169s
user    45m39.270s
sys     9m14.873s

Best regards

Can you guide me on what to do next? Thank you~

@nodejs/build @mhdawson @richardlau @sxa @targos @nodejs/platform-loong64

@shipujin
Copy link
Member Author

shipujin commented Nov 2, 2023

Then it could be part of a nightly job like https://ci.nodejs.org/view/All/job/sxa-rvnodetest/

Sorry for my a little too many questions, I would like to ask how "sxa-rvnodetest" accesses CI nodes, thank you

Best regards

@sxa
Copy link
Member

sxa commented Nov 2, 2023

I would like to ask how "sxa-rvnodetest" accesses CI nodes

Not sure I understand the question - like all jobs the rv-nodetest one specifies a label for machines to run on under "Restrict where this job can run", and the RISC-V machines that are connected to the CI have that label on it.

@shipujin
Copy link
Member Author

shipujin commented Nov 2, 2023

I would like to ask how "sxa-rvnodetest" accesses CI nodes

Not sure I understand the question - like all jobs the rv-nodetest one specifies a label for machines to run on under "Restrict where this job can run", and the RISC-V machines that are connected to the CI have that label on it.

Thanks for reply

I have a LoongArch machine ready, but I don't know how to connect this LoongArch to CI
Is there a document that describes this procedure, or can you guide me through it? Thank you

Best regards

@sxa
Copy link
Member

sxa commented Nov 2, 2023

Unfortunately I haven't got any spare time to dedicate to this, and @mhdawson is not around this week, but I will send you the public ssh key that the build/infra team uses to connect into the machines via a slack DM, so if you can ensure root logins are allowed and put this key in the root accoun that would be a good starting point :-)

@shipujin
Copy link
Member Author

shipujin commented Nov 3, 2023

Unfortunately I haven't got any spare time to dedicate to this, and @mhdawson is not around this week, but I will send you the public ssh key that the build/infra team uses to connect into the machines via a slack DM, so if you can ensure root logins are allowed and put this key in the root accoun that would be a good starting point :-)

Ok, thank you very much for your reply
I can perform ssh configuration, please send me the ssh public key download address, thank you

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 3, 2023

Unfortunately I haven't got any spare time to dedicate to this, and @mhdawson is not around this week, but I will send you the public ssh key that the build/infra team uses to connect into the machines via a slack DM, so if you can ensure root logins are allowed and put this key in the root accoun that would be a good starting point :-)

Ok, thank you very much for your reply I can perform ssh configuration, please send me the ssh public key download address, thank you

Best regards

Thanks, I have received the public-key of "test@build.nodejs.org" on slack, and I am going to put it into the system.

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 3, 2023

test@build.nodejs.org public key has been added.

In what way are the IP addresses and network ports of LoongArch machines submitted, New ARCH submission PR

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 6, 2023

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

[shipujin@Sunhaiyong ~]$ 
[shipujin@Sunhaiyong ~]$ uname -a
Linux Sunhaiyong 6.6.0-rc7 #1 SMP PREEMPT Fri Oct 27 01:55:14 UTC 2023 loongarch64 GNU/Linux
[shipujin@Sunhaiyong ~]$ 
[shipujin@Sunhaiyong ~]$ nproc 
32
[shipujin@Sunhaiyong ~]$ free -m
               total        used        free      shared  buff/cache   available
Mem:          130176       24700       98261          23       16378      105476
Swap:              0           0           0
[shipujin@Sunhaiyong ~]$ 
[shipujin@Sunhaiyong ~]$ java --version
openjdk 17.0.8-internal 2023-07-18
OpenJDK Runtime Environment (build 17.0.8-internal+0-adhoc..jdk17-17ugit)
OpenJDK 64-Bit Server VM (build 17.0.8-internal+0-adhoc..jdk17-17ugit, mixed mode)

check nodejs/node 20231106-main

20231106 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)
#### main
(1) time make -j32

...

real    18m21.934s
user    467m34.315s
sys     18m35.868s

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci


  ...

Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535:test-ci-js] Error 1
                                                                    

real    16m1.094s
user    45m47.914s
sys     7m48.861s

Best regards

@mhdawson
Copy link
Member

mhdawson commented Nov 6, 2023

I'll take a look once I'm back in the office after NodeConf.eu next week.

@shipujin
Copy link
Member Author

shipujin commented Nov 7, 2023

I'll take a look once I'm back in the office after NodeConf.eu next week.

Okay, thank you.
I will test the latest main branch every day, and I will paste the results here, thank you.

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 7, 2023

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231107-main

20231107 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231107 main

(1) time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

  ...

Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535:test-ci-js] Error 1
                                                                    
real    16m0.225s
user    45m26.462s
sys     7m46.614s

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 8, 2023

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231108-main

20231108 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231108 main

[shipujin@Sunhaiyong node]$ 
[shipujin@Sunhaiyong node]$ git remote -v
origin  https://github.com/nodejs/node.git (fetch)
origin  https://github.com/nodejs/node.git (push)
[shipujin@Sunhaiyong node]$ git fetch --all
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 28 (delta 12), reused 8 (delta 8), pack-reused 7
Unpacking objects: 100% (28/28), 120.23 KiB | 1.11 MiB/s, done.
From https://github.com/nodejs/node
   33704c46e3..4d6c8a09e0  main          -> origin/main
   3cc41d253c..0aaab45d7c  v20.x-staging -> origin/v20.x-staging
[shipujin@Sunhaiyong node]$ git checkout origin/main
Previous HEAD position was 33704c46e3 tools: update eslint to 8.53.0
HEAD is now at 4d6c8a09e0 doc: update pm documentation to include resource

(1) time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

  ...

Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535:test-ci-js] Error 1
                                                                    
real    17m15.535s
user    46m19.432s
sys     8m2.193s

Best regards

@shipujin
Copy link
Member Author

shipujin commented Nov 9, 2023

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231109-main

20231109 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231109 main

[shipujin@Sunhaiyong node]$ git remote -v
origin  https://github.com/nodejs/node.git (fetch)
origin  https://github.com/nodejs/node.git (push)
[shipujin@Sunhaiyong node]$ git fetch --all
remote: Enumerating objects: 130, done.
remote: Counting objects: 100% (121/121), done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 130 (delta 64), reused 90 (delta 48), pack-reused 9
Receiving objects: 100% (130/130), 285.39 KiB | 1.46 MiB/s, done.
Resolving deltas: 100% (64/64), completed with 32 local objects.
From https://github.com/nodejs/node
 * [new branch]            actions/tools-update-base64      -> origin/actions/tools-update-base64
 * [new branch]            doc-cloudflare-release-workflows -> origin/doc-cloudflare-release-workflows
   4d6c8a09e0..95534ad82f  main                             -> origin/main
[shipujin@Sunhaiyong node]$ git checkout origin/main
Previous HEAD position was 4d6c8a09e0 doc: update pm documentation to include resource
HEAD is now at 95534ad82f build: fix build with Python 3.12

(1) time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

  ...

Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535:test-ci-js] Error 1
                                                                    
real    16m5.252s
user    45m51.704s
sys     8m0.074s

Best regards

@shipujin
Copy link
Member Author

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231110-main

20231110 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231110 main

[shipujin@Sunhaiyong node]$ git remote -v
origin  https://github.com/nodejs/node.git (fetch)
origin  https://github.com/nodejs/node.git (push)
[shipujin@Sunhaiyong node]$ git fetch --all
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 17 (delta 8), reused 9 (delta 7), pack-reused 0
Unpacking objects: 100% (17/17), 109.48 KiB | 1.04 MiB/s, done.
From https://github.com/nodejs/node
   95534ad82f..3e14cfbbcf  main       -> origin/main
[shipujin@Sunhaiyong node]$ git checkout origin/main
Previous HEAD position was 95534ad82f build: fix build with Python 3.12
HEAD is now at 3e14cfbbcf stream: add support for `deflate-raw` format to webstreams compression

(1) ./configure --openssl-no-asm; time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535: test-ci-js] Error 1

real    16m25.022s
user    50m0.869s
sys     9m44.554s

Best regards

@shipujin
Copy link
Member Author

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231111-main

20231111 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231111 main

[shipujin@Sunhaiyong node]$ git remote -v
origin  https://github.com/nodejs/node.git (fetch)
origin  https://github.com/nodejs/node.git (push)
[shipujin@Sunhaiyong node]$ git fetch --all
remote: Enumerating objects: 819, done.
remote: Counting objects: 100% (791/791), done.
remote: Compressing objects: 100% (318/318), done.
remote: Total 819 (delta 488), reused 742 (delta 470), pack-reused 28
Receiving objects: 100% (819/819), 1.30 MiB | 4.09 MiB/s, done.
Resolving deltas: 100% (497/497), completed with 66 local objects.
From https://github.com/nodejs/node
 * [new branch]            actions/tools-update-libuv -> origin/actions/tools-update-libuv
   3e14cfbbcf..3cce03a03f  main                       -> origin/main
   5f852cc9fe..bbafd42d75  v18.x-staging              -> origin/v18.x-staging
[shipujin@Sunhaiyong node]$ git checkout origin/main
Previous HEAD position was 3e14cfbbcf stream: add support for `deflate-raw` format to webstreams compression
HEAD is now at 3cce03a03f test_runner: pass abortSignal to test files

(1) ./configure --openssl-no-asm; time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535: test-ci-js] Error 1

real    16m20.382s
user    50m21.899s
sys     9m51.719s

Best regards

@shipujin
Copy link
Member Author

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231112-main

20231112 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231112 main

[shipujin@Sunhaiyong node]$ git remote -v
origin  https://github.com/nodejs/node.git (fetch)
origin  https://github.com/nodejs/node.git (push)
[shipujin@Sunhaiyong node]$ git fetch --all
remote: Enumerating objects: 1876, done.
remote: Counting objects: 100% (1352/1352), done.
remote: Compressing objects: 100% (79/79), done.
remote: Total 1876 (delta 1305), reused 1279 (delta 1273), pack-reused 524
Receiving objects: 100% (1876/1876), 1.00 MiB | 3.38 MiB/s, done.
Resolving deltas: 100% (1421/1421), completed with 186 local objects.
From https://github.com/nodejs/node
 * [new branch]            actions/tools-update-ada                  -> origin/actions/tools-update-ada
   907a456b58..bec84ad1a0  actions/tools-update-brotli               -> origin/actions/tools-update-brotli
   aff0c70029..51310299a1  actions/tools-update-doc                  -> origin/actions/tools-update-doc
 + b5f66fd899...09956525cf actions/tools-update-lint-md-dependencies -> origin/actions/tools-update-lint-md-dependencies  (forced update)
   230ecd299a..cfd7dd3ff1  actions/tools-update-simdutf              -> origin/actions/tools-update-simdutf
   649a19b47f..fea283ca77  actions/tools-update-undici               -> origin/actions/tools-update-undici
   3cce03a03f..468b152a77  main                                      -> origin/main
   0aaab45d7c..8dd895e574  v20.x-staging                             -> origin/v20.x-staging
   dcbddf05f3..9181f7063e  v21.x-staging                             -> origin/v21.x-staging
[shipujin@Sunhaiyong node]$ git checkout origin/main
Previous HEAD position was 3cce03a03f test_runner: pass abortSignal to test files
HEAD is now at 468b152a77 meta: add web-standards as WPTs owner

(1) ./configure --openssl-no-asm; time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535: test-ci-js] Error 1

real    16m8.981s
user    50m4.115s
sys     9m35.783s

Best regards

@shipujin
Copy link
Member Author

OS (clfs): Yongbao-2.3-for-nodejs-ci.tar.gz

check nodejs/node 20231113-main

20231113 main : have one failures in the main test

  • parallel/test-http-correct-hostname (TIMEOUT)

20231113 main

[shipujin@Sunhaiyong node]$ git remote -v
origin  https://github.com/nodejs/node.git (fetch)
origin  https://github.com/nodejs/node.git (push)
[shipujin@Sunhaiyong node]$ git fetch --all
remote: Enumerating objects: 156, done.
remote: Counting objects: 100% (118/118), done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 156 (delta 46), reused 79 (delta 30), pack-reused 38
Receiving objects: 100% (156/156), 726.87 KiB | 2.38 MiB/s, done.
Resolving deltas: 100% (54/54), completed with 13 local objects.
From https://github.com/nodejs/node
 * [new branch]            actions/license-builder     -> origin/actions/license-builder
   fea283ca77..58775727c4  actions/tools-update-undici -> origin/actions/tools-update-undici
   468b152a77..5e250bd726  main                        -> origin/main
 * [new branch]            v20.10.0-proposal           -> origin/v20.10.0-proposal
 * [new branch]            v21.2.0-proposal            -> origin/v21.2.0-proposal
   9181f7063e..6e8097a44a  v21.x-staging               -> origin/v21.x-staging
[shipujin@Sunhaiyong node]$ git checkout origin/main
Previous HEAD position was 468b152a77 meta: add web-standards as WPTs owner
HEAD is now at 5e250bd726 node-api: factor out common code into macros

(1) ./configure --openssl-no-asm; time make -j32

(2) time make test-ci-js 2>&1 | tee ../E.log-nodejs-ci

...
Failed tests:
out/Release/node --expose-internals /home/shipujin/node/test/parallel/test-http-correct-hostname.js
make: *** [Makefile:535: test-ci-js] Error 1

real    16m22.424s
user    50m46.271s
sys     10m5.772s

Best regards

@shipujin
Copy link
Member Author

Hi,

20240222: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/99/console

Best regards

@mhdawson
Copy link
Member

20240222: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/99/console

Yay!

@shipujin
Copy link
Member Author

shipujin commented Feb 23, 2024

20240222: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/99/console

Yay!

Hi, Now the ci of nodejs-loong64 has passed successfully, what should I do next to promote nodejs-loong64 to become Tier-2? What do I need to do next to move forward. Thank you.

Best regards

@shipujin
Copy link
Member Author

Hi,

20240223: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/101/console

Best regards

@shipujin
Copy link
Member Author

Hi,

20240224: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/102/console

Best regards

@shipujin
Copy link
Member Author

Hi,

20240225: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/105/console

Best regards

@shipujin
Copy link
Member Author

Hi,

20240226: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/107/console

Best regards

@shipujin
Copy link
Member Author

Hi,

20240227: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/108/console

Best regards

@shipujin
Copy link
Member Author

Hi,

20240228: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/109/console

Best regards

@shipujin
Copy link
Member Author

Hi,

20240229: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/110/console

Best regards

@shipujin
Copy link
Member Author

shipujin commented Mar 1, 2024

Hi,

20240301: CI passed successfully: https://ci.nodejs.org/job/node-test-commit-loongarch64/nodes=clfs23-64/111/console

Best regards

@mhdawson
Copy link
Member

mhdawson commented Mar 1, 2024

@shipujin I'm not sure you need to post for each passing run. Intead it could make sense to post if there are failures and you need help to resolve, or as a heads up that you are working to resolve.

@shipujin
Copy link
Member Author

shipujin commented Mar 1, 2024

@shipujin I'm not sure you need to post for each passing run. Intead it could make sense to post if there are failures and you need help to resolve, or as a heads up that you are working to resolve.

Sorry, this is my fault and I will correct it.

Now I have a question, the ci of nodejs-loong64 has passed successfully, what should I do next to promote nodejs-loong64 to become Tier-2? What do I need to do next to move forward. Thank you.

Best regards

@mhdawson
Copy link
Member

mhdawson commented Mar 8, 2024

The next step would be to have more hardware in the CI so that it could be part of every CI run. I think that would also require you/somebody from your team to get involved in the build WG to help support those machines.

@shipujin
Copy link
Member Author

shipujin commented Mar 9, 2024

Thank you for your help~

The next step would be to have more hardware in the CI so that it could be part of every CI run.

We are very excited to promote nodejs-loong64, and I will provide feedback to my leadership to add more machine nodes to CI.

I would like to ask how many machines are needed to join CI. I understand these so that I can apply for machines with my leader.

I think that would also require you/somebody from your team to get involved in the build WG to help support those machines.

I'm very happy to join the build-WG to help nodejs-loong64 become an official support structure and help these machines run.

Best regards

@mhdawson
Copy link
Member

I would like to ask how many machines are needed to join CI. I understand these so that I can apply for machines with my leader.

To test on every PR we typically need at least 3 machines and they should be fast enough that they complete within ~ 30 mins or so.

I'm very happy to join the build-WG to help nodejs-loong64 become an official support structure and help these machines run.

If possible I suggest you start by joining the Build WG meetings which are in the calendar (nodejs.org/calendar) , and and issue is created in the repo a few days in advance in https://github.com/nodejs/build. The next meeting is Mar 12 at 9ET -> #3646

@shipujin
Copy link
Member Author

shipujin commented Mar 12, 2024

To test on every PR we typically need at least 3 machines and they should be fast enough that they complete within ~ 30 mins or so.

Okay, thank you for your careful answer. I will apply with my leader to add the machine to CI.

If possible I suggest you start by joining the Build WG meetings which are in the calendar (nodejs.org/calendar) , and and issue is created in the repo a few days in advance in https://github.com/nodejs/build. The next meeting is Mar 12 at 9ET -> #3646

ok, I will submit an issue to apply to join build-WG laterhttps://github.com//issues/3647. I will also pay attention to the working group meetings, but my English speaking is not good, but it does not affect my ability to solve and respond to problems in github/nodejs or email. I will We will continue to promote the growth of nodejs-loong64 and solve the problems that arise.

Best regards

@shipujin
Copy link
Member Author

shipujin commented Apr 9, 2024

Hi,

Now I have successfully applied for 2 LoongArch servers, which can be provided to Node.js-CI remotely. Could you please provide me the public IP of Node.js-CI? I want to add the public IP of remote access by the Node.js-CI machine to the whitelist.
I will continue to maintain these LoongArch servers and promote the development of node-loong64.

Best regards

@mhdawson
Copy link
Member

@shipujin there are quite a few different IPs in our infra. Do you mean the jenkins server? The agents running on the test nodes reach out to the Jenkins server so I don't think you necessarily need to add it to your allowlist.

In case you do need it all of the IPs are in - https://github.com/nodejs/build/blob/main/ansible/inventory.yml

On the other hand we do want build members to be able to ssh into the machines and we each some from different places

@shipujin
Copy link
Member Author

shipujin commented Apr 11, 2024

Thank you for your reply.

@shipujin there are quite a few different IPs in our infra. Do you mean the jenkins server? The agents running on the test nodes reach out to the Jenkins server so I don't think you necessarily need to add it to your allowlist.

Sorry for my misunderstanding. If LoongArch test machine connects to jenkins server, jenkins does not need to be whitelisted.

On the other hand we do want build members to be able to ssh into the machines and we each some from different places

Yes, I agree with your suggestion that build members should be able to ssh log in to the new LoongArch test machine, but our room network administrator requires to add whitelist and increase security.
I am thinking later, if an interested build member shows his IP here, I will communicate with our room network administrator to add it to the whitelist.

Sorry, I haven't thought of other better ways to solve this problem. There will be optimized plans in the future, and I will update them in time.

Best regards

@mhdawson
Copy link
Member

I think we'd need something like a jump machine that can be in the whitelist. Build WG members connect to the jump machine and then into the LoongArch machines. What I'm not sure of is how we make that with Ansible. @richardlau any thoughts on that?

@richardlau
Copy link
Member

I think we'd need something like a jump machine that can be in the whitelist. Build WG members connect to the jump machine and then into the LoongArch machines. What I'm not sure of is how we make that with Ansible. @richardlau any thoughts on that?

Not sure. Rod set up the one we used to use for the Pi's -- I can't remember if the set up for that was in Ansibile.

@shipujin
Copy link
Member Author

I have prepared two LoongArch servers. What should I do to add them to Node.js-CI?

Best regards

@mhdawson
Copy link
Member

Can you PR the ips ito the inventory here - https://github.com/nodejs/build/blob/main/ansible/inventory.yml and add the public test key to the services so we can ssh in?

I guess that gets us back to the earlier question of access. How about you get ubuntu1804-x64-1: {ip: 178.128.202.158, alias: gzemnid} added to the firewall so that some build team members would be able to ssh in from that machine.

I assume you have already run ansible on them to configure them, if so once I have access and know their ips from the inventory I can add them to jenkins, add the jenkins tokens to the machines.

@richardlau I don't think that machine is used too much, but wanted to check if you know its going to go away any time soon?

@richardlau
Copy link
Member

@richardlau I don't think that machine is used too much, but wanted to check if you know its going to go away any time soon?

I'm not aware of anything affecting that server's availability on the horizon.

@shipujin
Copy link
Member Author

Can you PR the ips ito the inventory here - https://github.com/nodejs/build/blob/main/ansible/inventory.yml and add the public test key to the services so we can ssh in?

Ok, I will submit the pr, thank you

I guess that gets us back to the earlier question of access. How about you get ubuntu1804-x64-1: {ip: 178.128.202.158, alias: gzemnid} added to the firewall so that some build team members would be able to ssh in from that machine.

Ok, I'll talk to the room administrator and add ubuntu1804-x64-1: {ip: 178.128.202.158, alias: gzemnid} to the whitelist

Best regards

@shipujin
Copy link
Member Author

shipujin commented May 9, 2024

Sorry that the network of the computer room is being adjusted, I will repair the network as soon as possible and promote the network recovery as soon as possible.

Best regards

shipujin added a commit to shipujin/build that referenced this issue May 27, 2024
shipujin added a commit to shipujin/build that referenced this issue May 27, 2024
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

No branches or pull requests

5 participants