@@ -17,19 +17,20 @@ jobs:
1717 ci :
1818 if : " !contains(github.event.head_commit.message, '[skip ci]')"
1919 env :
20- GKS_ENCODING : " utf8"
21- GKSwstype : " nul"
22- JULIA_CONDAPKG_BACKEND : " MicroMamba"
23- PLOTS_PLOTLYJS_UNSAFE_ELECTRON : " true"
24- MPLBACKEND : " agg"
20+ JULIA_PROJECT_CMD : julia --project=@. --check-bounds=yes --color=yes
21+ GKS_ENCODING : utf8
22+ GKS_WSTYPE : nul
23+ JULIA_CONDAPKG_BACKEND : MicroMamba
24+ PLOTS_PLOTLYJS_UNSAFE_ELECTRON : true
25+ MPLBACKEND : agg
2526 name : Julia ${{ matrix.version }} - ${{ matrix.os }}
2627 continue-on-error : ${{ matrix.experimental }}
2728 runs-on : ${{ matrix.os }}
2829 strategy :
2930 fail-fast : false
3031 matrix :
3132 version :
32- - ' lts' # LTS, also minimum declared julia compat in `Project.toml`
33+ - ' lts' # LTS, also minimum declared julia compat in `Project.toml`
3334 - ' 1' # latest stable
3435 experimental :
3536 - false
4243 version : ' 1'
4344 - os : ubuntu-latest
4445 experimental : false
45- prefix : xvfb-run # add `xvfb-run` prefix julia-actions/julia-runtest/blob/master/README.md
4646 - os : ubuntu-latest
4747 experimental : true
48- prefix : xvfb-run
4948 version : ' pre' # upcoming julia version, next `rc`
5049
5150 steps :
6867 - uses : julia-actions/cache@v2
6968 - uses : julia-actions/julia-buildpkg@latest
7069
71- - name : Run upstream RecipesBase & RecipesPipeline tests
72- shell : julia --project=@. --color=yes {0}
73- run : |
74- using Pkg
75- foreach(("RecipesBase", "RecipesPipeline")) do name
76- Pkg.develop(path=name); Pkg.test(name; coverage=true)
77- end
78-
7970 - name : Install conda based matplotlib
8071 shell : julia --project=@. --color=yes {0}
8172 run : |
@@ -100,10 +91,33 @@ jobs:
10091 CondaPkg.PkgREPL.add([libgcc..., "matplotlib"])
10192 CondaPkg.status()
10293
103- - uses : julia-actions/julia-runtest@latest
104- timeout-minutes : 60
105- with :
106- prefix : ${{ matrix.prefix }} # for `xvfb-run`
94+ - name : develop packages
95+ run : |
96+ ${{ env.JULIA_PROJECT_CMD }} -e '
97+ using Pkg
98+ Pkg.develop([
99+ (; path="./RecipesBase"), # compat for LTS [sources], remove later
100+ (; path="./RecipesPipeline"), # compat for LTS [sources], remove later
101+ (; path="./Plots"), # compat for LTS [sources], remove later
102+ ])
103+ Pkg.precompile() # // precompilation
104+ '
105+
106+ - name : test Plots stack
107+ timeout-minutes : 90
108+ run : |
109+ cmd=(${{ env.JULIA_PROJECT_CMD }} --depwarn=yes)
110+ if [ "$RUNNER_OS" == "Linux" ]; then
111+ cmd=(xvfb-run ${cmd[@]})
112+ fi
113+ echo ${cmd[@]}
114+ ${cmd[@]} -e '
115+ using Pkg; Pkg.test([
116+ "RecipesBase",
117+ "RecipesPipeline",
118+ "Plots",
119+ ]; coverage=true)
120+ '
107121
108122 - name : Run downstream tests
109123 if : startsWith(matrix.os, 'ubuntu')
@@ -119,7 +133,7 @@ jobs:
119133 - uses : julia-actions/julia-processcoverage@latest
120134 if : startsWith(matrix.os, 'ubuntu')
121135 with :
122- directories : RecipesBase/src,RecipesPipeline/src,src
136+ directories : RecipesBase/src,RecipesPipeline/src,Plots/ src
123137 - uses : codecov/codecov-action@v4
124138 if : startsWith(matrix.os, 'ubuntu')
125139 with :
0 commit comments