Skip to content

Commit 1d0308d

Browse files
authored
Merge branch 'vortex-data:develop' into develop
2 parents 405b439 + 41a4f63 commit 1d0308d

495 files changed

Lines changed: 11243 additions & 4795 deletions

File tree

Some content is hidden

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

.github/DISCUSSION_TEMPLATE/issue-triage.yml

Lines changed: 0 additions & 65 deletions
This file was deleted.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Bug Report
2+
description: Report something that isn't working correctly
3+
labels: ["needs-triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to report this. Please fill out the sections below.
9+
10+
- type: textarea
11+
id: what-happened
12+
attributes:
13+
label: What happened?
14+
description: A clear description of the bug
15+
placeholder: Tell us what you expected vs what actually happened
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: reproduce
21+
attributes:
22+
label: Steps to reproduce
23+
description: Minimal steps to trigger the bug
24+
placeholder: |
25+
1. ...
26+
2. ...
27+
3. ...
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: version
33+
attributes:
34+
label: Environment
35+
description: Version, OS, relevant dependencies
36+
placeholder: |
37+
- Vortex version:
38+
- Python/Java version:
39+
- OS:
40+
validations:
41+
required: true
42+
43+
- type: textarea
44+
id: additional
45+
attributes:
46+
label: Additional context
47+
description: Logs, screenshots, or anything else helpful
48+
validations:
49+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
blank_issues_enabled: false
1+
blank_issues_enabled: true
22
contact_links:
3-
- name: Features, Bug Reports, Questions
3+
- name: Features, Questions
44
url: https://github.com/vortex-data/vortex/discussions/new/choose
55
about: Our preferred starting point if you have any questions or suggestions about configuration, features or behavior.

.github/ISSUE_TEMPLATE/preapproved.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

.github/release-drafter.yml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@ tag-template: "$RESOLVED_VERSION"
33
categories:
44
- title: "⚠️ Breaks"
55
labels:
6-
- "break"
7-
- "wire-break"
6+
- "changelog/break"
87
- title: "✨ Features"
98
labels:
10-
- "feature"
9+
- "changelog/feature"
1110
- title: "🚀 Performance"
1211
labels:
13-
- "performance"
12+
- "changelog/performance"
1413
- title: "🐛 Bug Fixes"
1514
collapse-after: 8
1615
labels:
17-
- "fix"
16+
- "changelog/fix"
1817
- title: "📖 Documentation"
1918
labels:
20-
- "documentation"
19+
- "changelog/docs"
20+
collapse-after: 3
2121
- title: "🧰 Maintenance"
2222
labels:
23-
- "chore"
23+
- "changelog/chore"
2424
collapse-after: 3
2525

2626
version-resolver:
@@ -31,13 +31,12 @@ version-resolver:
3131
minor:
3232
labels:
3333
# Any features or breaks will trigger a minor version bump (while we are 0.x)
34-
- "feature"
35-
- "break"
36-
- "wire-break"
34+
- "changelog/feature"
35+
- "changelog/break"
3736
default: patch
3837

3938
exclude-labels:
40-
- "skip-changelog"
39+
- "changelog/skip"
4140

4241
template: |
4342
## Changes

.github/workflows/bench-pr.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ jobs:
2424
label_trigger:
2525
runs-on: ubuntu-latest
2626
timeout-minutes: 120
27-
if: ${{ contains(github.event.head_commit.message, '[benchmark]') || github.event.label.name == 'benchmark' && github.event_name == 'pull_request' }}
27+
if: ${{ contains(github.event.head_commit.message, '[benchmark]') || github.event.label.name == 'action/benchmark' && github.event_name == 'pull_request' }}
2828
steps:
2929
# We remove the benchmark label first so that the workflow can be re-triggered.
3030
- uses: actions-ecosystem/action-remove-labels@v1
3131
if: ${{ github.event.pull_request.head.repo.full_name == 'vortex-data/vortex' }}
3232
with:
33-
labels: benchmark
33+
labels: action/benchmark
3434
fail_on_error: true
3535

3636
bench:
@@ -44,7 +44,7 @@ jobs:
4444
name: Random Access
4545
- id: compress-bench
4646
name: Compression
47-
if: ${{ contains(github.event.head_commit.message, '[benchmark]') || github.event.label.name == 'benchmark' && github.event_name == 'pull_request' }}
47+
if: ${{ contains(github.event.head_commit.message, '[benchmark]') || github.event.label.name == 'action/benchmark' && github.event_name == 'pull_request' }}
4848
steps:
4949
- uses: runs-on/action@v2
5050
if: github.event.pull_request.head.repo.fork == false

.github/workflows/ci.yml

Lines changed: 90 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -209,21 +209,17 @@ jobs:
209209
matrix:
210210
config:
211211
- name: "all-features"
212-
command: "build"
213212
args: "--all-features --all-targets"
214213
- name: "default features"
215-
command: "build"
216214
args: "--all-targets"
217215
- name: "with tokio dispatcher"
218-
command: "build"
219216
# Only build the crates that have the tokio features, not re-building other crates with no-default-features
220217
args: "--no-default-features --features tokio --all-targets -p vortex -p vortex-io -p vortex-file -p vortex-layout"
221218
- name: "wasm32 with default features"
222-
command: "build"
223219
target: wasm32-unknown-unknown
224220
env:
225221
rustflags: "RUSTFLAGS='-A warnings --cfg getrandom_backend=\"wasm_js\"'"
226-
args: "--target wasm32-unknown-unknown --exclude vortex --exclude vortex-cuda --exclude vortex-datafusion --exclude vortex-duckdb --exclude vortex-tui --exclude vortex-zstd"
222+
args: "--target wasm32-unknown-unknown --exclude vortex --exclude vortex-cuda --exclude vortex-nvcomp --exclude vortex-datafusion --exclude vortex-duckdb --exclude vortex-tui --exclude vortex-zstd"
227223
steps:
228224
- uses: runs-on/action@v2
229225
with:
@@ -239,7 +235,7 @@ jobs:
239235
- name: Install cargo-hack
240236
uses: taiki-e/install-action@cargo-hack
241237
- name: Rust Build (${{matrix.config.name}})
242-
run: ${{matrix.config.env.rustflags}} cargo hack ${{matrix.config.command}} --locked ${{matrix.config.args}} --ignore-private
238+
run: ${{matrix.config.env.rustflags}} cargo hack build --locked ${{matrix.config.args}} --ignore-private
243239
- name: "Make sure no files changed after build"
244240
run: |
245241
git status --porcelain
@@ -299,19 +295,15 @@ jobs:
299295
run: cargo clippy --locked --all-targets -- -D warnings
300296

301297
rust-lint-no-default:
302-
name: "Rust (lint, no default, ${{ matrix.partition }}/2)"
298+
name: "Rust (lint, no default)"
303299
timeout-minutes: 120
304-
strategy:
305-
fail-fast: false
306-
matrix:
307-
partition: [1, 2]
308300
runs-on:
309301
- runs-on=${{ github.run_id }}
310302
- family=m7i+m7i-flex+m7a
311303
- cpu=16
312304
- image=ubuntu24-full-x64
313305
- extras=s3-cache
314-
- tag=rust-lint-no-default-${{ matrix.partition }}
306+
- tag=rust-lint-no-default
315307
steps:
316308
- uses: runs-on/action@v2
317309
with:
@@ -326,8 +318,8 @@ jobs:
326318
- name: Rust Lint - Clippy No Default Features
327319
shell: bash
328320
run: |
329-
# https://spiraldb.slack.com/archives/C07BV3GKAJ2/p1732736281946729
330-
cargo hack clippy --no-default-features --partition ${{ matrix.partition }}/2 -- -D warnings
321+
cargo hack --no-dev-deps --ignore-private clippy --no-default-features -- -D warnings
322+
331323
332324
rust-semver:
333325
name: "Rust (semver checks)"
@@ -495,6 +487,52 @@ jobs:
495487
--target x86_64-unknown-linux-gnu \
496488
-p vortex-buffer -p vortex-ffi -p vortex-fastlanes -p vortex-fsst -p vortex-alp -p vortex-array
497489
490+
cuda-test:
491+
name: "CUDA tests"
492+
timeout-minutes: 120
493+
runs-on:
494+
- runs-on=${{ github.run_id }}
495+
- family=g5+g4dn+g6
496+
- cpu=8
497+
- image=ubuntu24-gpu-x64
498+
- extras=s3-cache
499+
- tag=cuda-tests
500+
env:
501+
# Keep frame pointers for better stack traces
502+
CARGO_PROFILE_DEV_DEBUG: "true"
503+
CARGO_PROFILE_TEST_DEBUG: "true"
504+
steps:
505+
- uses: runs-on/action@v2
506+
with:
507+
sccache: s3
508+
- name: Display NVIDIA SMI details
509+
run: |
510+
nvidia-smi
511+
nvidia-smi -L
512+
nvidia-smi -q -d Memory
513+
- uses: actions/checkout@v6
514+
- uses: ./.github/actions/setup-rust
515+
with:
516+
repo-token: ${{ secrets.GITHUB_TOKEN }}
517+
toolchain: nightly
518+
components: "rust-src, rustfmt, clippy, llvm-tools-preview"
519+
- name: Install nextest
520+
uses: taiki-e/install-action@v2
521+
with:
522+
tool: nextest
523+
- name: Rust Tests
524+
run: |
525+
# Build with full debug info first (helps with caching)
526+
cargo +nightly build --locked -p vortex-cuda --all-features --target x86_64-unknown-linux-gnu
527+
# Run tests with sanitizers and debug output
528+
cargo +nightly nextest run \
529+
--locked \
530+
-p vortex-cuda \
531+
--all-features \
532+
--no-fail-fast \
533+
--target x86_64-unknown-linux-gnu \
534+
--verbose
535+
498536
rust-test-other:
499537
name: "Rust tests (${{ matrix.os }})"
500538
timeout-minutes: 120
@@ -541,7 +579,7 @@ jobs:
541579
- name: Rust Tests (Windows)
542580
if: matrix.os == 'windows-x64'
543581
run: |
544-
cargo nextest run --locked --workspace --all-features --no-fail-fast --exclude vortex-bench --exclude vortex-python --exclude vortex-duckdb --exclude vortex-fuzz --exclude duckdb-bench --exclude lance-bench --exclude datafusion-bench --exclude random-access-bench --exclude compress-bench --exclude xtask
582+
cargo nextest run --locked --workspace --all-features --no-fail-fast --exclude vortex-bench --exclude vortex-python --exclude vortex-duckdb --exclude vortex-fuzz --exclude vortex-cuda --exclude vortex-nvcomp --exclude duckdb-bench --exclude lance-bench --exclude datafusion-bench --exclude random-access-bench --exclude compress-bench --exclude xtask
545583
- name: Rust Tests (Other)
546584
if: matrix.os != 'windows-x64'
547585
run: cargo nextest run --locked --workspace --all-features --no-fail-fast --exclude vortex-bench --exclude xtask
@@ -612,6 +650,43 @@ jobs:
612650
token: ${{ secrets.CODSPEED_TOKEN }}
613651
mode: "simulation"
614652

653+
bench-codspeed-gpu:
654+
name: "Benchmark with Codspeed (GPU)"
655+
timeout-minutes: 120
656+
runs-on:
657+
- runs-on=${{ github.run_id }}
658+
- family=g5
659+
- cpu=8
660+
- image=ubuntu24-gpu-x64
661+
- extras=s3-cache
662+
- tag=bench-codspeed-gpu
663+
steps:
664+
- uses: runs-on/action@v2
665+
with:
666+
sccache: s3
667+
- name: Display NVIDIA SMI details
668+
run: |
669+
nvidia-smi
670+
nvidia-smi -L
671+
- uses: actions/checkout@v6
672+
- uses: ./.github/actions/setup-rust
673+
with:
674+
repo-token: ${{ secrets.GITHUB_TOKEN }}
675+
toolchain: nightly
676+
components: "rust-src, rustfmt, clippy, llvm-tools-preview"
677+
- name: Install Codspeed
678+
run: cargo install --force cargo-codspeed --locked
679+
- name: Build benchmarks
680+
run: cargo codspeed -m walltime build -p vortex-cuda --profile bench
681+
- name: Run benchmarks
682+
uses: CodSpeedHQ/action@94b88560ad3ed11ed5e92a321518a47c35a1fed5
683+
env:
684+
CARGO_MANIFEST_DIR: ${{ github.workspace }}/vortex-cuda
685+
with:
686+
run: cargo codspeed run
687+
token: ${{ secrets.CODSPEED_TOKEN }}
688+
mode: "walltime"
689+
615690
license-check-and-audit-check:
616691
name: License Check and Audit Check
617692
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)