Skip to content

Commit ce974fc

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 5d2802f commit ce974fc

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ jobs:
3939
- uses: actions/checkout@v4
4040
- uses: ./.github/actions/setup
4141
- run: cargo test --features tpch --test tpch_validation_test
42+
- name: Clean up test data
43+
run: |
44+
rm -rf testdata/tpch/data/*
45+
df -h
4246
4347
format-check:
4448
runs-on: ubuntu-latest

.github/workflows/nightly.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Nightly Tests
2+
3+
on:
4+
schedule:
5+
# Run at 9pm EST (2am UTC next day)
6+
- cron: '0 2 * * *'
7+
workflow_dispatch: # Allow manual triggering
8+
9+
concurrency:
10+
# Run tests sequentially to avoid using too much disk space
11+
group: nightly
12+
cancel-in-progress: false
13+
14+
env:
15+
CARGO_TERM_COLOR: always
16+
RUST_BACKTRACE: 1
17+
SCALE_FACTOR: "1" # use tpcds scale factor 1
18+
19+
jobs:
20+
tpcds-randomized-test:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
with:
25+
lfs: true
26+
- uses: ./.github/actions/setup
27+
- name: Install DuckDB CLI
28+
run: |
29+
curl https://install.duckdb.org | sh
30+
mkdir -p $HOME/.local/bin
31+
mv /home/runner/.duckdb/cli/latest/duckdb $HOME/.local/bin/
32+
echo "$HOME/.local/bin" >> $GITHUB_PATH
33+
- name: Run TPC-DS randomized test
34+
id: test
35+
run: cargo test --features tpcds --test tpc_ds_randomized
36+
continue-on-error: true
37+
- name: Upload test artifacts on failure
38+
if: failure() || steps.test.outcome == 'failure'
39+
uses: actions/upload-artifact@v4
40+
with:
41+
name: tpcds-test-artifacts-${{ github.run_id }}
42+
path: testdata/tpcds/data/**
43+
retention-days: 7
44+
if-no-files-found: ignore
45+
- name: Free up disk space
46+
run: |
47+
rm -rf testdata/tpcds/data/*
48+
rm -f $HOME/.local/bin/duckdb
49+
rm -rf /home/runner/.duckdb
50+
cargo clean
51+
df -h
52+

0 commit comments

Comments
 (0)