I am trying to set up a CI pipeline for a package that depends on GLMakie. So far this fails with
ERROR: LoadError: Failed to precompile GLMakie [e9467ef8-e4e7-5192-8a1a-b1aee30e663a] to /home/runner/.julia/compiled/v1.7/GLMakie/jl_hvqBqq.
See: https://github.com/aenarete/KiteViewers.jl/runs/6192295040?check_suite_focus=true
How can I fix that?
My current CI.yml: https://github.com/aenarete/KiteViewers.jl/blob/main/.github/workflows/CI.yml
The warning in the log is pretty clear:
┌ Warning: OpenGL/GLFW wasn't loaded correctly or couldn't be initialized.
│ This likely means, you're on a headless server without having OpenGL support setup correctly.
│ Have a look at the troubleshooting section in the readme:
│ https://github.com/JuliaPlots/Makie.jl/tree/master/GLMakie#troubleshooting-opengl.
└ @ GLMakie ~/.julia/packages/GLMakie/pFGSp/src/gl_backend.jl:4
You’ll need, at least, to deploy an X server with sofware GL rendering. Look for xvfb
in the Makie CI scripts, https://github.com/JuliaPlots/Makie.jl/blob/3e4ae3227f3eb4bb507627cd8e41a0850a515f44/.github/workflows/glmakie.yaml.
But I did:
- run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev
Figured it out. Using the following three lines it works.
- run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev
- run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project -e 'using Pkg; Pkg.instantiate()'
- run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project -e "using TestEnv; TestEnv.activate(); include(\"test/runtests.jl\")"
Well, on Linux. Any chance to make this work on Windows or Mac?
1 Like