Hi new Julia user here, hoping this is the right community to help answer my question.
I’m having issues with GLMakie and my github CI yaml. I’m aware there’s a bit of discussion about this elsewhere online, but haven’t been able to get the existing solutions to work for me. I’ve copied my CI.yml at the bottom.
When I push it up to gh, I get
...
✗ GLMakie
344 dependencies successfully precompiled in 256 seconds
2 dependencies errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the packages
Run # The Julia command that will be executed
┌ 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/MakieOrg/Makie.jl/tree/master/GLMakie#troubleshooting-opengl.
└ @ GLMakie ~/.julia/packages/GLMakie/F1fQC/src/gl_backend.jl:4
ERROR: LoadError: InitError: Exception[GLFW.GLFWError(GLFW.PLATFORM_ERROR, "X11: The DISPLAY environment variable is missing"), ErrorException("glfwInit failed")]
I’ve followed the suggested link and tried to incorporate the changes there, but haven’t been able to make it work.
I’ve tried adding DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24'
in front of any julia calls, as well as sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-d ev libxext-dev xsettingsd x11-xserver-utils
before uses
commands that run julia-actions. I’m also new to github CI, so that could be part of the problem.
My CI.yml:
name: CI
on:
push:
branches:
- main
tags: ['*']
pull_request:
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
docs:
name: Documentation
runs-on: ubuntu-latest
permissions:
contents: write
statuses: write
steps:
- uses: actions/checkout@v3
- uses: julia-actions/setup-julia@v1
with:
version: '1'
- 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-d
- name: Configure doc environment
run: |
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --color=yes --project=docs/ -e '
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
Pkg.instantiate()' && echo "TESTS_SUCCESSFUL=true" >> $GITHUB_ENV
- uses: julia-actions/julia-buildpkg@v1
- name: Install Julia dependencies
shell: julia --project=docs/ {0}
run: |
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --color=yes --project=docs/ -e '
using Pkg;
# dev mono repo versions
pkg"dev . ./MakieCore ./GLMakie"' # ./ReferenceTests"
- uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run Doctest
run: |
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs -e '
using Documenter: DocMeta, doctest
using Jems
DocMeta.setdocmeta!(Jems, :DocTestSetup, :(using Jems); recursive=true)
doctest(Jems)' && echo "TESTS_SUCCESSFUL=true" >> $GITHUB_ENV
Does anyone know what I’m missing?