datafusion-dft 0.3.0

An opinionated and batteries included DataFusion implementation
Documentation
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

name: Checks
on: [push, pull_request]

jobs:
  fmt:
    name: Format
    runs-on: ubuntu-latest
    strategy:
      matrix:
        arch: [amd64]
    steps:
      - uses: actions/checkout@v2
      - name: Setup Rust Toolchain
        uses: ./.github/actions/setup-rust
      - name: Run cargo fmt
        run: cargo fmt --all -- --check
      - name: Run taplo
        run: taplo format --check
  unused-deps:
    name: Unused Dependencies
    runs-on: ubuntu-latest
    strategy:
      matrix:
        arch: [amd64]
    steps:
      - uses: actions/checkout@v2
      - name: Setup Rust Toolchain
        uses: ./.github/actions/setup-rust
      - name: Run cargo machete
        run: cargo machete

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    strategy:
      matrix:
        arch: [amd64]
    container:
      image: ${{ matrix.arch }}/rust
      env:
        # Disable full debug symbol generation to speed up CI build and keep memory down
        # "1" means line tables only, which is useful for panic tracebacks.
        RUSTFLAGS: "-C debuginfo=1"
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
      - name: Cache Cargo registry and git
        uses: actions/cache@v4
        with:
          path: /github/home/.cargo
          key: cargo-clippy-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
          restore-keys: |
            cargo-clippy-${{ runner.os }}-
      - name: Setup Rust Toolchain
        uses: ./.github/actions/setup-rust
      - name: Cache Rust dependencies
        uses: actions/cache@v4
        with:
          path: /github/home/target
          key: target-clippy-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('**/Cargo.toml') }}
          restore-keys: |
            target-clippy-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-
            target-clippy-${{ runner.os }}-
      - name: Run clippy
        run: |
          cargo clippy --all-features --workspace -- -D warnings
        env:
          CARGO_HOME: "/github/home/.cargo"
          CARGO_TARGET_DIR: "/github/home/target"