nodejs / build

Better build and test infra for Node.
503 stars 165 forks source link

Request access to ubuntu2204-armv7l box #3895

Open santigimeno opened 1 week ago

santigimeno commented 1 week ago

I'm in the process of releasing the new libuv version and while running the libuv-in-node CI I run into issues with some preadv tests that might be relevant to the release: https://ci.nodejs.org/job/node-test-commit-arm/nodes=ubuntu2204-armv7l/54701/#showFailuresLink. Would love to have access to one of those boxes to debug the issue. Thanks

UlisesGascon commented 1 week ago

+1 from me. cc: @nodejs/build

richardlau commented 1 week ago

+1

mhdawson commented 5 days ago

+1 from me

mhdawson commented 5 days ago

@ryanaslett is getting @santigimeno's key onto the box so he can access something you could help with?

richardlau commented 4 days ago

I'll get this set up.

richardlau commented 4 days ago

@santigimeno ubuntu2204-armv7l in the CI are containers. I've put your keys onto one of the Docker host machines.

To get into the container:

ssh -tt root@145.40.81.219 docker exec -it node-ci-test-equinix-ubuntu2204_container-armv7l-1 bash

Inside the container, Node.js builds are in /home/iojs/build/workspace/node-test-commit-arm/:

cd /home/iojs/build/workspace/node-test-commit-arm/

Before building/running configure, export these to use ccache (for faster builds) and gcc 12:

export CC="ccache gcc-12"
export CXX="ccache g++-12"

Just prior to this comment I did a git checkout and rebuild of of commit sha 589666f3534, which is what https://ci.nodejs.org/job/node-test-commit-arm/nodes=ubuntu2204-armv7l/54701/ built. If you need to rebuild or run anything in parallel, please try to cap to 16 CPUs (the env var JOBS is set to 16 in the container) to minimize contention with the other containers running on the host.

santigimeno commented 4 days ago

Thanks! I'm in

santigimeno commented 4 days ago

I can't find any text editors in the containers nor I cannot install anything. Can you help me with that? Thanks

richardlau commented 4 days ago

The files in /home/iojs in the container are mounted from /home/iojs/test-equinix-ubuntu2204_container-armv7l-1/.

ssh into the host as the iojs user:

ssh -tt root@145.40.81.219 sudo -u iojs bash

and once logged in,

cd /home/iojs/test-equinix-ubuntu2204_container-armv7l-1/build/workspace/node-test-commit-arm/

Please only edit files and don't run any compilation in the host outside of the container. (FWIW Also note that the host is arm64 (not armv7) but that should be an issue for editing text.)

santigimeno commented 9 hours ago

@richardlau how feasible would be having some debugging tools installed in the container. I'm thinking gdb, strace. Thanks

richardlau commented 2 hours ago

@richardlau how feasible would be having some debugging tools installed in the container. I'm thinking gdb, strace. Thanks

@santigimeno I've installed gdb and strace into the container.