4040 - " 3.14"
4141 toolchain :
4242 - " stable"
43+ - " nightly"
4344
4445 steps :
4546 - uses : actions/checkout@v5
@@ -60,15 +61,18 @@ jobs:
6061 uses : dtolnay/rust-toolchain@stable
6162 id : rust-toolchain
6263 with :
64+ toolchain : ${{ matrix.toolchain }}
6365 components : clippy,rustfmt
6466
6567 - name : Install Protoc
68+ if : ${{ matrix.toolchain == 'stable' }}
6669 uses : arduino/setup-protoc@v3
6770 with :
6871 version : ' 27.4'
6972 repo-token : ${{ secrets.GITHUB_TOKEN }}
7073
7174 - name : Setup Python
75+ if : ${{ matrix.toolchain == 'stable' }}
7276 uses : actions/setup-python@v6
7377 with :
7478 python-version : ${{ matrix.python-version }}
@@ -80,19 +84,21 @@ jobs:
8084 key : cargo-cache-${{ steps.rust-toolchain.outputs.cachekey }}-${{ hashFiles('Cargo.lock') }}
8185
8286 - name : Check Formatting
83- if : ${{ matrix.python-version == '3.10' && matrix.toolchain == 'stable ' }}
87+ if : ${{ matrix.python-version == '3.10' && matrix.toolchain == 'nightly ' }}
8488 run : cargo +nightly fmt -- --check
8589
8690 - name : Run Clippy
8791 if : ${{ matrix.python-version == '3.10' && matrix.toolchain == 'stable' }}
8892 run : cargo clippy --all-targets --all-features -- -D clippy::all -D warnings -A clippy::redundant_closure
8993
9094 - name : Install dependencies and build
95+ if : ${{ matrix.toolchain == 'stable' }}
9196 uses : astral-sh/setup-uv@v7
9297 with :
9398 enable-cache : true
9499
95100 - name : Run tests
101+ if : ${{ matrix.toolchain == 'stable' }}
96102 env :
97103 RUST_BACKTRACE : 1
98104 run : |
@@ -102,25 +108,28 @@ jobs:
102108 uv run --no-project pytest -v .
103109
104110 - name : FFI unit tests
111+ if : ${{ matrix.toolchain == 'stable' }}
105112 run : |
106113 cd examples/datafusion-ffi-example
107114 uv run --no-project maturin develop --uv
108115 uv run --no-project pytest python/tests/_test*.py
109116
110117 - name : Cache the generated dataset
118+ if : ${{ matrix.toolchain == 'stable' }}
111119 id : cache-tpch-dataset
112120 uses : actions/cache@v4
113121 with :
114122 path : benchmarks/tpch/data
115123 key : tpch-data-2.18.0
116124
117125 - name : Run dbgen to create 1 Gb dataset
118- if : ${{ steps.cache-tpch-dataset.outputs.cache-hit != 'true' }}
126+ if : ${{ steps.cache-tpch-dataset.outputs.cache-hit != 'true' && matrix.toolchain == 'stable' }}
119127 run : |
120128 cd benchmarks/tpch
121129 RUN_IN_CI=TRUE ./tpch-gen.sh 1
122130
123131 - name : Run TPC-H examples
132+ if : ${{ matrix.toolchain == 'stable' }}
124133 run : |
125134 cd examples/tpch
126135 uv run --no-project python convert_data_to_parquet.py
0 commit comments