Each run
specifies a shell command, if you want to run that shell command through xvfb-run
then you need to prefix it with that. If you take a look at your yaml:
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy docs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: >
cd docs;
DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24'
julia --color=yes make.jl
then the Build and deploy docs
step runs two separate commands. The >
means all following lines are concatenated into one big line. So you have cd docs
and then the command DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --color=yes make.jl
which sets DISPLAY
and then uses xvfb-run
to run julia
. Those are not separate commands even though they appear on two different lines.
But in the previous step Install dependencies
, you have run: julia --project=docs/ -e 'using Pkg...
so this runs julia
without the xvfb-run
wrapper. When this commands loads GLMakie in precompilation, it fails. So change that one to DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs/ ...
as well.
The Upload site as artifact
step is unrelated to these problems.