Monorepo : bring back PlotThemes to v1
#5451
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| pull_request: | |
| push: | |
| branches: [master] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| ci: | |
| if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
| env: | |
| JULIA_PROJECT_CMD: julia --project=@. --check-bounds=yes --color=yes | |
| GKS_ENCODING: utf8 | |
| GKS_WSTYPE: nul | |
| JULIA_CONDAPKG_BACKEND: MicroMamba | |
| PLOTS_PLOTLYJS_UNSAFE_ELECTRON: true | |
| MPLBACKEND: agg | |
| name: Julia ${{ matrix.version }} - ${{ matrix.os }} | |
| continue-on-error: ${{ matrix.experimental }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: | |
| - 'lts' # LTS, also minimum declared julia compat in `Project.toml` | |
| - '1' # latest stable | |
| experimental: | |
| - false | |
| os: [ubuntu-latest, windows-latest] # cannot use macos-latest a.k.a macos-14 on x64 (only aarch64) | |
| arch: [x64] | |
| include: | |
| - os: macos-latest | |
| experimental: false | |
| arch: aarch64 | |
| version: '1' | |
| - os: ubuntu-latest | |
| experimental: false | |
| - os: ubuntu-latest | |
| experimental: true | |
| version: 'pre' # upcoming julia version, next `rc` | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Ubuntu LaTeX dependencies | |
| if: startsWith(matrix.os, 'ubuntu') | |
| run: | | |
| sudo apt-get -y update | |
| sudo apt-get -y install gnuplot poppler-utils texlive-{latex-base,latex-extra,luatex} g++ | |
| sudo fc-cache -vr | |
| - name: Set LD_PRELOAD | |
| if: startsWith(matrix.os, 'ubuntu') | |
| run: echo "LD_PRELOAD=$(g++ --print-file-name=libstdc++.so)" >> $GITHUB_ENV | |
| - uses: julia-actions/setup-julia@latest | |
| with: | |
| version: ${{ matrix.version }} | |
| - uses: julia-actions/cache@v2 | |
| - uses: julia-actions/julia-buildpkg@latest | |
| - name: dev pkgs and install mpl deps | |
| env: | |
| JULIA_PKG_PRECOMPILE_AUTO: 0 | |
| run: | | |
| ${{ env.JULIA_PROJECT_CMD }} -e ' | |
| using Pkg | |
| Pkg.develop([ | |
| (; path="./RecipesBase"), # compat for LTS [sources], remove later | |
| (; path="./RecipesPipeline"), # compat for LTS [sources], remove later | |
| (; path="./Plots"), # compat for LTS [sources], remove later | |
| ]) | |
| include(joinpath(@__DIR__, "ci", "matplotlib.jl")) | |
| Pkg.precompile() # // precompilation | |
| ' | |
| - name: test Plots stack | |
| timeout-minutes: 90 | |
| run: | | |
| cmd=(${{ env.JULIA_PROJECT_CMD }} --depwarn=yes) | |
| if [ "$RUNNER_OS" == "Linux" ]; then | |
| cmd=(xvfb-run ${cmd[@]}) | |
| fi | |
| echo ${cmd[@]} | |
| ${cmd[@]} -e ' | |
| using Pkg; Pkg.test([ | |
| "RecipesBase", | |
| "RecipesPipeline", | |
| "Plots", | |
| ]; coverage=true) | |
| ' | |
| - name: Run downstream tests | |
| if: startsWith(matrix.os, 'ubuntu') | |
| shell: xvfb-run julia --project=@. --color=yes {0} | |
| run: | | |
| using Pkg | |
| foreach(("StatsPlots", "GraphRecipes")) do name | |
| Pkg.activate(tempdir()) | |
| foreach(path -> Pkg.develop(; path), ("RecipesBase", "RecipesPipeline", "Plots")) | |
| Pkg.add(name); Pkg.test(name; coverage=true) | |
| end | |
| - uses: julia-actions/julia-processcoverage@latest | |
| if: startsWith(matrix.os, 'ubuntu') | |
| with: | |
| directories: RecipesBase/src,RecipesPipeline/src,Plots/src | |
| - uses: codecov/codecov-action@v4 | |
| if: startsWith(matrix.os, 'ubuntu') | |
| with: | |
| file: lcov.info | |
| Skip: | |
| if: contains(github.event.head_commit.message, '[skip ci]') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Skip CI 🚫 | |
| run: echo skip ci |