Skip to content

Refactor out datafusion app to its own crate #294

Refactor out datafusion app to its own crate

Refactor out datafusion app to its own crate #294

Workflow file for this run

# 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: Tests
on: [push, pull_request]
jobs:
test:
name: Core
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup show
rustup self update
rustup show
rustup install stable
rustup default stable
- name: Run tests (ex-FlightSQL)
run: |
cargo test
test-flightsql:
name: Extension / FlightSQL
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run FlightSQL tests
run: |
# Single thread needed because we spin up a server that listens on port and we need each
# test to only be run against the server spun up in that test. With parallelism tests
# can connec to server in different test which breaks determinism.
cargo test --features=flightsql extension_cases::flightsql -- --test-threads=1
test-s3:
name: Extension / S3
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v3
- name: Start LocalStack
uses: LocalStack/[email protected]
with:
image-tag: 'latest'
install-awslocal: 'true'
configuration: DEBUG=1
- name: Run Tests against LocalStack
run: |
awslocal s3 mb s3://test
awslocal s3 mv data/aggregate_test_100.csv s3://test/
echo "Test Execution complete!"
- name: Run S3 tests
run: |
cargo test --features=s3 extension_cases::s3
test-functions-json:
name: Extension / Functions-JSON
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run Functions-JSON tests
run: |
cargo test --features=functions-json extension_cases::functions_json
test-deltalake:
name: Extension / Deltalake
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run Deltalake tests
run: |
cargo test --features=deltalake extension_cases::deltalake
test-hudi:
name: Extension / Hudi
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run Hudi tests
run: |
cargo test --features=hudi extension_cases::hudi
test-udfs-wasm:
name: Extension / UDFs-WASM
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run UDFs WASM tests
run: |
cargo test --features=udfs-wasm extension_cases::udfs_WASM
test-crate-functions-parquet:
name: Crate / Functions-Parquet
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run UDFs WASM tests
run: |
cargo test --manifest-path crates/datafusion-functions-parquet/Cargo.toml
test-crate-udfs-wasm:
name: Crate / UDFs-WASM
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Run UDFs WASM tests
run: |
cargo test --manifest-path crates/datafusion-udfs-wasm/Cargo.toml
test-auth-basic:
name: Extension / Auth-Basic
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup show
rustup self update
rustup show
rustup install stable
rustup default stable
- name: Start FlightSQL Server
run: |
cargo r --features=experimental-flightsql-server,auth -- --serve --config data/configs/flightsql_basic.toml &
- name: Run auth tests
run: |
cargo t --features=flightsql,auth extension_cases::auth_basic
test-auth-bearer:
name: Extension / Auth-Bearer
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache Cargo
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: cargo-dft-cache-
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: /home/runner/target
key: target-dft-cache-
- name: Setup Rust toolchain
run: |
rustup show
rustup self update
rustup show
rustup install stable
rustup default stable
- name: Start FlightSQL Server
run: |
cargo r --features=experimental-flightsql-server,auth -- --serve --config data/configs/flightsql_bearer.toml &
- name: Run auth tests
run: |
cargo t --features=flightsql,auth extension_cases::auth_bearer