Open emackey opened 5 months ago
I run it on Mac and the CI runs it on Linux. Seems like Windows ought to work, at the very least under WSL2, but we may need some particular directions. I'm pretty sure the CI is all docker containers, so that should be fine. Let me know what you run into.
So I've found some hints elsewhere that GitHub CI is based on VHD, not Docker. Still, there should be a way to get this going in a Docker container, I would expect.
This is what I've tried so far:
ubuntu:latest
image, with the glTF-Render-Fidelity repo mapped into it under /mnt/render
.cd /mnt/render
apt update
apt install nodejs
apt install npm
apt-get install xvfb
npm install
(NOTE: The above fails to run a script that installs the submodule, but I got that already.)
npm run build
/usr/bin/xvfb-run --auto-servernum npm run test -- --quiet
The above eventually gave me this message:
Error message: Could not find Chrome (ver. 121.0.6167.85). This can occur if either
1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or
2. your cache path is incorrectly configured (which is: /root/.cache/puppeteer)
So I tried running the npx
command mentioned there, and now I get a different message:
Error message: Failed to launch the browser process!
/root/.cache/puppeteer/chrome/linux-121.0.6167.85/chrome-linux64/chrome:
error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
Any ideas?
I don't think you need xvfb
, and that's probably making things more complicated than they need to be. Puppeteer uses standard Chrome with access to your monitor and GPU. The trouble with the CI is it can only run headless Chrome (no monitor, no GPU), which is what xvfb
is for. Try just running npm test
instead.
Well, I'm on Docker for Windows, so there's no X-windows on my system other than xvfb. I can see xvfb in use in the GitHub action, so I was trying to replicate that in Docker.
Have you tried following our windows directions from model-viewer? Maybe we need to copy those over here. I believe that avoids Docker.
@emackey Ping - did the above directions help, or are you still blocked?
Does this project support running (virtually or otherwise) under Windows?
Can it be done in a Docker container, or does it need a full Linux desktop?