datafusion-distributed 1.0.0

Framework for enhancing Apache DataFusion with distributed capabilities
Documentation
name: CI

on:
  pull_request:
  push:
    branches:
      - main

env:
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1
  TPCDS_SCALE_FACTOR: 0.5 # 0.5 scale factor produces a data dir which is 124MB

concurrency:
  group: ${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup
      - run: cargo build

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup
        with:
          components: clippy
      - run: cargo clippy --all-targets --all-features -- -D warnings

  unit-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: true
      - uses: ./.github/actions/setup
      - run: cargo test --features integration

  tpch-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup
      - run: cargo test --features tpch --test 'tpch_*'

  tpcds-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup
      - uses: actions/cache@v4
        with:
          path: testdata/tpcds/main.zip
          key: "main.zip"
      - run: cargo test --features tpcds --test 'tpcds_*'

  clickbench-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup
      - uses: actions/cache@v4
        with:
          path: testdata/clickbench/
          key: "data"
      - run: cargo test --features clickbench --test 'clickbench_*'

  format-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.github/actions/setup
        with:
          components: rustfmt
      - run: cargo fmt --all -- --check