add tpc-ds tests and property-based testing utilities #539
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| concurrency: | |
| group: ${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| with: | |
| components: clippy | |
| - run: cargo clippy --all-targets --features integration | |
| 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_validation_test | |
| tpcds-randomized-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| lfs: true | |
| - uses: ./.github/actions/setup | |
| - name: Install DuckDB CLI | |
| run: curl https://install.duckdb.org | sh | |
| - name: Add DuckDB to PATH | |
| run: | | |
| mkdir -p $HOME/.local/bin | |
| mv duckdb $HOME/.local/bin/ | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Run TPC-DS randomized test | |
| id: test | |
| run: cargo test --features tpcds --test tpc_ds_randomized | |
| continue-on-error: true | |
| - name: Upload test artifacts on failure | |
| if: failure() || steps.test.outcome == 'failure' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: tpcds-test-artifacts-${{ github.run_id }} | |
| path: testdata/tpcds/data/** | |
| retention-days: 7 | |
| if-no-files-found: ignore | |
| format-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| with: | |
| components: rustfmt | |
| - run: cargo fmt --all -- --check |