Skip to content

Commit 15bc8b0

Browse files
Merge branch 'develop' into ji/to_duckdb_ext_rs
2 parents 398a43f + 1da651f commit 15bc8b0

File tree

55 files changed

+470
-323
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+470
-323
lines changed

.github/workflows/bench-pr.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- image=ubuntu24-full-x64
3131
- disk=large
3232
- spot=false
33-
- tag=${{ matrix.id }}
33+
- tag=${{ matrix.benchmark.id }}
3434
strategy:
3535
matrix:
3636
benchmark:
@@ -42,6 +42,8 @@ jobs:
4242
steps:
4343
- uses: runs-on/action@v1
4444
- uses: actions/checkout@v4
45+
with:
46+
submodules: "recursive"
4547
# rustup is pre-installed on the ubuntu24-full-x64 image.
4648

4749
# The compression benchmarks rely on DuckDB being installed to convert CSV to Parquet

.github/workflows/bench.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v4
18+
with:
19+
submodules: "recursive"
1820
- name: Setup AWS CLI
1921
uses: aws-actions/configure-aws-credentials@v4
2022
with:
@@ -36,7 +38,7 @@ jobs:
3638
- image=ubuntu24-full-x64
3739
- disk=large
3840
- spot=false
39-
- tag=${{ matrix.id }}
41+
- tag=${{ matrix.benchmark.id }}
4042
strategy:
4143
matrix:
4244
benchmark:
@@ -47,6 +49,8 @@ jobs:
4749
steps:
4850
- uses: runs-on/action@v1
4951
- uses: actions/checkout@v4
52+
with:
53+
submodules: "recursive"
5054
# rustup is pre-installed on the ubuntu24-full-x64 image.
5155

5256
# The compression benchmarks rely on DuckDB being installed to convert CSV to Parquet

.github/workflows/ci.yml

+63-10
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ jobs:
3131
runs-on: ubuntu-latest
3232
steps:
3333
- uses: actions/checkout@v4
34+
with:
35+
submodules: "recursive"
3436
- name: Validate YAML file
3537
run: |
3638
# Lint the workflows and yamllint's configuration file.
@@ -44,6 +46,8 @@ jobs:
4446
runs-on: ubuntu-latest
4547
steps:
4648
- uses: actions/checkout@v4
49+
with:
50+
submodules: "recursive"
4751
- uses: spiraldb/actions/.github/actions/[email protected]
4852
- name: Python Lint - Format
4953
run: uv run ruff format --check .
@@ -55,6 +59,8 @@ jobs:
5559
runs-on: ubuntu-latest
5660
steps:
5761
- uses: actions/checkout@v4
62+
with:
63+
submodules: "recursive"
5864
- uses: ./.github/actions/cleanup
5965
- uses: rui314/setup-mold@v1
6066
- uses: ./.github/actions/setup-rust
@@ -103,16 +109,33 @@ jobs:
103109
104110
rust-docs:
105111
name: "Rust (docs)"
106-
runs-on: ubuntu-latest
112+
runs-on:
113+
- runs-on=${{ github.run_id }}
114+
- family=m7i+m7i-flex+m7a
115+
- cpu=8
116+
- image=ubuntu24-full-x64
117+
- disk=large
118+
- spot=false
119+
- tag=rust-docs
107120
steps:
108121
- uses: actions/checkout@v4
122+
with:
123+
submodules: "recursive"
109124
- uses: ./.github/actions/setup-rust
110125
- name: Docs
111126
run: cargo doc --no-deps
112127

113128
build-rust:
114129
name: "Rust build (${{matrix.config.name}})"
115-
runs-on: ubuntu-latest
130+
runs-on:
131+
- runs-on=${{ github.run_id }}
132+
- family=m7i+m7i-flex+m7a
133+
- cpu=8
134+
- image=ubuntu24-full-x64
135+
- disk=large
136+
- spot=false
137+
- tag=${{ matrix.config.name }}
138+
116139
env:
117140
# disable lints for build, they will be caught in Rust lint job.
118141
RUSTFLAGS: '-A warnings'
@@ -142,39 +165,59 @@ jobs:
142165
rustflags: 'RUSTFLAGS="-A warnings --cfg getrandom_backend=\"wasm_js\""'
143166
args: "--target wasm32-unknown-unknown --exclude vortex --exclude vortex-datafusion --exclude vortex-tui"
144167
steps:
168+
- uses: runs-on/action@v1
145169
- uses: actions/checkout@v4
146-
- uses: ./.github/actions/cleanup
170+
with:
171+
submodules: "recursive"
147172
- uses: rui314/setup-mold@v1
148-
- uses: ./.github/actions/setup-rust
149173
with:
150174
targets: ${{matrix.config.target || ''}}
151175
- uses: ./.github/actions/setup-c++
176+
- name: Install wasm32 target
177+
if: ${{ matrix.config.target == 'wasm32-unknown-unknown' }}
178+
run: rustup target add wasm32-unknown-unknown
152179
- name: Install cargo-hack
153180
uses: taiki-e/install-action@cargo-hack
154181
- name: Rust Build (${{matrix.config.name}})
155182
run: ${{matrix.config.env.rustflags}} cargo hack ${{matrix.config.command}} --locked ${{matrix.config.args}} --ignore-private
156183

157184
check-min-deps:
158185
name: "Check build with minimal dependencies"
159-
runs-on: ubuntu-latest
186+
runs-on:
187+
- runs-on=${{ github.run_id }}
188+
- family=m7i+m7i-flex+m7a
189+
- cpu=8
190+
- image=ubuntu24-full-x64
191+
- disk=large
192+
- spot=false
193+
- tag=rust-min-deps
160194
steps:
195+
- uses: runs-on/action@v1
161196
- uses: actions/checkout@v4
162-
- uses: ./.github/actions/cleanup
197+
with:
198+
submodules: "recursive"
163199
- uses: rui314/setup-mold@v1
164-
- uses: ./.github/actions/setup-rust
165200
- uses: ./.github/actions/setup-c++
166201
- uses: taiki-e/install-action@cargo-hack
167202
- uses: taiki-e/install-action@cargo-minimal-versions
168203
- run: cargo minimal-versions check --direct --workspace --ignore-private
169204

170205
rust-lint:
171206
name: "Rust (lint)"
172-
runs-on: ubuntu-latest
207+
runs-on:
208+
- runs-on=${{ github.run_id }}
209+
- family=m7i+m7i-flex+m7a
210+
- cpu=8
211+
- image=ubuntu24-full-x64
212+
- disk=large
213+
- spot=false
214+
- tag=rust-lint
173215
steps:
216+
- uses: runs-on/action@v1
174217
- uses: actions/checkout@v4
175-
- uses: ./.github/actions/cleanup
218+
with:
219+
submodules: "recursive"
176220
- uses: rui314/setup-mold@v1
177-
- uses: ./.github/actions/setup-rust
178221
- uses: ./.github/actions/setup-c++
179222
- name: Rust Lint - Format
180223
run: cargo fmt --all --check
@@ -207,6 +250,8 @@ jobs:
207250
GRCOV_OUTPUT_FILE: "target/coverage/vortex.lcov"
208251
steps:
209252
- uses: actions/checkout@v4
253+
with:
254+
submodules: "recursive"
210255
- uses: ./.github/actions/cleanup
211256
- uses: rui314/setup-mold@v1
212257
- uses: ./.github/actions/setup-rust
@@ -243,6 +288,8 @@ jobs:
243288
steps:
244289
- uses: runs-on/action@v1
245290
- uses: actions/checkout@v4
291+
with:
292+
submodules: "recursive"
246293
# rustup is pre-installed on the ubuntu24-full-x64 image.
247294

248295
- name: Install Codspeed
@@ -282,6 +329,8 @@ jobs:
282329
continue-on-error: ${{ matrix.checks == 'advisories' }}
283330
steps:
284331
- uses: actions/checkout@v4
332+
with:
333+
submodules: "recursive"
285334
- uses: EmbarkStudios/cargo-deny-action@v2
286335
with:
287336
command: check ${{ matrix.checks }}
@@ -311,6 +360,8 @@ jobs:
311360
steps:
312361
- uses: rui314/setup-mold@v1
313362
- uses: actions/checkout@v4
363+
with:
364+
submodules: "recursive"
314365
- uses: ./.github/actions/setup-rust
315366
- uses: taiki-e/install-action@v2
316367
with:
@@ -327,6 +378,8 @@ jobs:
327378
runs-on: ubuntu-latest
328379
steps:
329380
- uses: actions/checkout@v4
381+
with:
382+
submodules: "recursive"
330383
- uses: ./.github/actions/cleanup
331384
- uses: rui314/setup-mold@v1
332385
- uses: ./.github/actions/setup-rust

.github/workflows/docs.yml

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@v4
19+
with:
20+
submodules: "recursive"
1921
- uses: ./.github/actions/cleanup
2022
- uses: ./.github/actions/setup-rust
2123
- uses: spiraldb/actions/.github/actions/[email protected]

.github/workflows/fuzz.yml

+6
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@ jobs:
1414
- image=ubuntu24-full-x64
1515
- disk=large
1616
- tag=io-fuzz
17+
- spot=false
1718
steps:
1819
- uses: runs-on/action@v1
1920
- uses: actions/checkout@v4
21+
with:
22+
submodules: "recursive"
2023
- name: Install cargo fuzz
2124
run: cargo install cargo-fuzz
2225
- name: Restore corpus
@@ -56,9 +59,12 @@ jobs:
5659
- image=ubuntu24-full-x64
5760
- disk=large
5861
- tag=ops-fuzz
62+
- spot=false
5963
steps:
6064
- uses: runs-on/action@v1
6165
- uses: actions/checkout@v4
66+
with:
67+
submodules: "recursive"
6268
- name: Install cargo fuzz
6369
run: cargo install cargo-fuzz
6470
- name: Restore corpus

.github/workflows/generate-tpch-s3.yml

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: "Generate TPC-H files to S3"
22

33
on:
4-
workflow_dispatch: {}
4+
workflow_dispatch: { }
55
schedule:
66
# 5AM UTC
77
- cron: "0 5 * * *"
@@ -20,13 +20,11 @@ jobs:
2020
- runs-on=${{ github.run_id }}
2121
- family=m7i.2xlarge
2222
- image=ubuntu24-full-x64
23-
env:
24-
REMOTE_PATH: s3://vortex-bench-dev-eu/tpch-sf1/
25-
TMPDIR: /work
23+
- spot=false
2624
steps:
2725
- uses: actions/checkout@v4
28-
- uses: ./.github/actions/cleanup
29-
- uses: ./.github/actions/setup-rust
26+
with:
27+
submodules: "recursive"
3028
- name: Setup AWS CLI
3129
uses: aws-actions/configure-aws-credentials@v4
3230
with:
@@ -37,6 +35,5 @@ jobs:
3735
run: |
3836
# We run each query once to make sure we don't upload a file if there's a bug that causes a panic.
3937
cargo run --release --bin tpch -- --formats parquet,vortex -i1
40-
aws s3 cp --recursive bench-vortex/data/tpch/1 $REMOTE_PATH
41-
# We can now clear generated data
42-
rm -rf bench-vortex/data/
38+
aws s3 rm --recursive s3://vortex-bench-dev-eu/tpch-sf1/
39+
aws s3 cp --recursive bench-vortex/data/tpch/1 s3://vortex-bench-dev-eu/tpch-sf1/

.github/workflows/release-plz.yml

+6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ jobs:
2323
with:
2424
# Needed to pull full commit history for release version number inference
2525
fetch-depth: 0
26+
submodules: "recursive"
2627
- uses: ./.github/actions/cleanup
2728
- uses: ./.github/actions/setup-rust
2829
- name: Run release-plz
@@ -46,6 +47,7 @@ jobs:
4647
with:
4748
# Needed to pull full commit history for release version number inference
4849
fetch-depth: 0
50+
submodules: "recursive"
4951
- uses: ./.github/actions/cleanup
5052
- uses: ./.github/actions/setup-rust
5153
- name: Run release-plz
@@ -62,6 +64,8 @@ jobs:
6264
runs-on: macos-13
6365
steps:
6466
- uses: actions/checkout@v4
67+
with:
68+
submodules: "recursive"
6569
- uses: ./.github/actions/cleanup
6670
- name: rust-toolchain
6771
shell: bash
@@ -106,6 +110,8 @@ jobs:
106110
runs-on: ubuntu-latest
107111
steps:
108112
- uses: actions/checkout@v4
113+
with:
114+
submodules: "recursive"
109115
- uses: astral-sh/setup-uv@v5
110116
- name: rust-toolchain
111117
shell: bash

.github/workflows/sql-benchmarks.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@ jobs:
3131
- image=ubuntu24-full-x64
3232
- disk=large
3333
- spot=false
34-
- tag=${{ matrix.id }}
34+
- tag=${{ matrix.include.id }}
3535

3636
steps:
3737
- uses: runs-on/action@v1
3838
- uses: actions/checkout@v4
39+
with:
40+
submodules: "recursive"
3941
# rustup is pre-installed on the ubuntu24-full-x64 image.
4042

4143
- name: Run ${{ matrix.name }} benchmark

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ benchmarks/.out
192192
*.txt
193193
*.vortex
194194
*.parquet
195+
!docs/_static/example.parquet
195196

196197
# TPC-H benchmarking data
197198
/data/

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
[submodule "extension-ci-tools"]
55
path = duckdb-vortex/extension-ci-tools
66
url = https://github.com/duckdb/extension-ci-tools
7+
[submodule "duckdb-vortex/duckdb-rs"]
8+
path = duckdb-vortex/duckdb-rs
9+
url = https://github.com/spiraldb/duckdb-rs
710
[submodule "duckdb-vortex-rs/extension-ci-tools"]
811
path = duckdb-vortex-rs/extension-ci-tools
912
url = [email protected]:spiraldb/extension-ci-tools.git

Cargo.lock

+2-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)