vega_lite_4 0.9.1

rust api for vega-lite v4
Documentation
name: ci-flow

on:
  pull_request:
  push:
    branches:
      - master
      - "releases/*"
    # tags-ignore:
    #   - "[0-9]+.[0-9]+.[0-9]+*"

permissions:
  contents: read

env:
  SCCACHE_GHA_ENABLED: "true"
  RUSTC_WRAPPER: "sccache"

jobs:
  build:
    runs-on: ${{ matrix.os.runner }}
    strategy:
      matrix:
        rust_toolchain: ["stable"]
        os:
          # CI on ubuntu-latest failed with feature polars
          # (exit code 143 => killed probably because it used too many resources)
          - runner: ubuntu-latest
            features: "--features csv,ndarray,nalgebra,rulinalg,show_vega"
          # CI is too long on windows-latest with all features (especially polars)
          # can be enabled/uncommented if needed
          # - runner: windows-latest
          #   features: "--features default"
          - runner: macos-latest
            features: "--all-features"

    steps:
      - name: Free Disk Space (Ubuntu)
        if: ${{ matrix.os.runner == 'ubuntu-latest' }}
        uses: jlumbroso/free-disk-space@main
        with:
          tool-cache: false
          android: true
          dotnet: true
          haskell: true
          large-packages: false
          swap-storage: true
      - uses: mozilla-actions/sccache-action@v0.0.9
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: ${{ matrix.rust_toolchain }}
      - uses: taiki-e/install-action@v2
        with:
          tool: cargo-nextest
      - uses: actions/checkout@v4
      - run: cargo fmt --all --check
      - run: cargo clippy --all-targets ${{ matrix.os.features }} -- --deny warnings
      - run: cargo nextest run ${{ matrix.os.features }}
      - run: cargo build --examples ${{ matrix.os.features }}