Skip to content

Commit aaab00b

Browse files
add tpcds-randomized-test to ci
This commit adds tpcds-randomized-test to ci. It relies on the duckdb cli for tpc-ds database generation. It also saves the artifacts if the test fails so we can reproduce issues.
1 parent 895fc9a commit aaab00b

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

.github/actions/setup/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ runs:
2626
- uses: Swatinem/rust-cache@v2
2727
with:
2828
key: ${{ runner.os }}-${{ inputs.targets }}-rust-cache
29+
version: v2

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,38 @@ jobs:
4040
- uses: ./.github/actions/setup
4141
- run: cargo test --features tpch --test tpch_validation_test
4242

43+
tpcds-randomized-test:
44+
runs-on: ubuntu-latest
45+
steps:
46+
- uses: actions/checkout@v4
47+
with:
48+
lfs: true
49+
- uses: ./.github/actions/setup
50+
- name: Install DuckDB CLI
51+
run: |
52+
curl https://install.duckdb.org | sh
53+
mkdir -p $HOME/.local/bin
54+
mv /home/runner/.duckdb/cli/latest/duckdb $HOME/.local/bin/
55+
echo "$HOME/.local/bin" >> $GITHUB_PATH
56+
- name: Run TPC-DS randomized test
57+
id: test
58+
run: cargo test --features tpcds --test tpc_ds_randomized
59+
continue-on-error: true
60+
- name: Upload test artifacts on failure
61+
if: failure() || steps.test.outcome == 'failure'
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: tpcds-test-artifacts-${{ github.run_id }}
65+
path: testdata/tpcds/data/**
66+
retention-days: 7
67+
if-no-files-found: ignore
68+
- name: Clean up test data
69+
run: |
70+
rm -rf testdata/tpcds/data/*
71+
rm -f $HOME/.local/bin/duckdb
72+
rm -rf /home/runner/.duckdb
73+
df -h
74+
4375
format-check:
4476
runs-on: ubuntu-latest
4577
steps:

0 commit comments

Comments
 (0)