diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 2f7ab418ca77..e4904d226637 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -166,7 +166,7 @@ jobs: - name: Check datafusion-functions (string_expressions) run: cargo check --profile ci --all-targets --no-default-features --features=string_expressions -p datafusion-functions - # Run tests + # Library and integration tests linux-test: name: cargo test (amd64) needs: linux-build-lib @@ -180,6 +180,36 @@ jobs: run: rustup toolchain install stable - name: Install Protobuf Compiler run: sudo apt-get install -y protobuf-compiler + - name: Run tests (excluding doctests and datafusion-cli) + env: + RUST_BACKTRACE: 1 + run: | + cargo test \ + --profile ci \ + --exclude datafusion-examples \ + --exclude ffi_example_table_provider \ + --exclude datafusion-benchmarks \ + --exclude datafusion-cli \ + --workspace \ + --lib \ + --tests \ + --bins \ + --features serde,avro,json,backtrace,integration-tests + - name: Verify Working Directory Clean + run: git diff --exit-code + + # datafusion-cli tests + linux-test-datafusion-cli: + name: cargo test datafusion-cli (amd64) + needs: linux-build-lib + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 1 + - name: Setup Rust toolchain + run: rustup toolchain install stable - name: Setup Minio - S3-compatible storage run: | docker run -d --name minio-container \ @@ -200,13 +230,14 @@ jobs: AWS_SECRET_ACCESS_KEY: TEST-DataFusionPassword TEST_STORAGE_INTEGRATION: 1 AWS_ALLOW_HTTP: true - run: cargo test --profile ci --exclude datafusion-examples --exclude ffi_example_table_provider --exclude datafusion-benchmarks --workspace --lib --tests --bins --features avro,json,backtrace,integration-tests + run: cargo test --profile ci -p datafusion-cli --lib --tests --bins - name: Verify Working Directory Clean run: git diff --exit-code - name: Minio Output if: ${{ !cancelled() }} run: docker logs minio-container + linux-test-example: name: cargo examples (amd64) needs: linux-build-lib