Skip to content

Commit 2837817

Browse files
committed
initial
Signed-off-by: Mikhail Kot <mikhail@spiraldb.com>
1 parent 3d7bbfb commit 2837817

5 files changed

Lines changed: 75 additions & 7 deletions

File tree

.github/workflows/bench.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
env:
7575
RUSTFLAGS: "-C target-cpu=native"
7676
run: |
77-
cargo build --bin ${{ matrix.benchmark.id }} --profile release_debug ${{ matrix.benchmark.build_args }} --features unstable_encodings
77+
cargo build --workspace --bin ${{ matrix.benchmark.id }} --profile release_debug ${{ matrix.benchmark.build_args }} --features unstable_encodings
7878
7979
- name: Setup Polar Signals
8080
uses: polarsignals/gh-actions-ps-profiling@68ae857e375a826606352016e5b90f01a2a7ff7a # v0.8.1

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ jobs:
129129
- uses: ./.github/actions/setup-prebuild
130130
- name: Docs
131131
run: |
132-
RUSTDOCFLAGS="-D warnings" cargo doc --profile ci --no-deps
132+
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --profile ci --no-deps
133133
# nextest doesn't support doc tests, so we run it here
134134
cargo test --profile ci --doc --workspace --all-features --exclude vortex-cxx --exclude vortex-jni --exclude vortex-ffi --exclude xtask --no-fail-fast
135135
@@ -220,19 +220,19 @@ jobs:
220220
- name: Rustc check
221221
id: check
222222
continue-on-error: true
223-
run: RUSTFLAGS="-D warnings" cargo check --profile ci --locked --all-features --all-targets
223+
run: RUSTFLAGS="-D warnings" cargo check --workspace --profile ci --locked --all-features --all-targets
224224
- name: Rustc check (release)
225225
id: check-release
226226
continue-on-error: true
227-
run: RUSTFLAGS="-D warnings" cargo check --locked --all-features --all-targets --release
227+
run: RUSTFLAGS="-D warnings" cargo check --workspace --locked --all-features --all-targets --release
228228
- name: Rust Lint - Clippy All Features
229229
id: clippy-all
230230
continue-on-error: true
231-
run: cargo clippy --profile ci --locked --all-features --all-targets -- -D warnings
231+
run: cargo clippy --workspace --profile ci --locked --all-features --all-targets -- -D warnings
232232
- name: Rust Lint - Clippy Default Features
233233
id: clippy-default
234234
continue-on-error: true
235-
run: cargo clippy --profile ci --locked --all-targets -- -D warnings
235+
run: cargo clippy --workspace --profile ci --locked --all-targets -- -D warnings
236236
- name: Check lint results
237237
if: always()
238238
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9

.github/workflows/sql-benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ jobs:
349349
if [ "${{ inputs.mode }}" != "pr" ]; then
350350
packages="$packages --bin lance-bench"
351351
fi
352-
cargo build $packages --profile release_debug --features unstable_encodings
352+
cargo build --workspace $packages --profile release_debug --features unstable_encodings
353353
354354
- name: Generate data
355355
shell: bash

AGENTS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ broad refactor:
4545
cargo build --workspace
4646
```
4747

48+
cargo build, cargo clippy, cargo nextest run without -p or --workspace don't
49+
cover crates that are not in "default-members" in Cargo.toml. If you change
50+
crates that are not in "default-members", build and test them using "-p" or
51+
"--workspace".
52+
4853
## Testing
4954

5055
Run tests for the crate or binding you touched before broader checks:

Cargo.toml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,66 @@ members = [
7272
"vortex-geo",
7373
]
7474
exclude = ["java/testfiles", "wasm-test"]
75+
76+
# Benchmark harnesses and fuzzing account for 40% of a cold workspace build
77+
# and they aren't needed for ordinary builds.
78+
default-members = [
79+
"vortex-array-macros",
80+
"vortex-error",
81+
"vortex-buffer",
82+
"vortex-mask",
83+
"vortex-utils",
84+
"vortex-session",
85+
"vortex-flatbuffers",
86+
"vortex-metrics",
87+
"vortex-io",
88+
"vortex-proto",
89+
"vortex-array",
90+
"vortex-row",
91+
"vortex-tensor",
92+
"vortex-json",
93+
"vortex-turboquant",
94+
"vortex-compressor",
95+
"vortex-btrblocks",
96+
"vortex-layout",
97+
"vortex-scan",
98+
"vortex-file",
99+
"vortex-ipc",
100+
"vortex",
101+
"vortex-datafusion",
102+
"vortex-duckdb",
103+
"vortex-cuda",
104+
"vortex-cuda/cub",
105+
"vortex-cuda/ffi",
106+
"vortex-cuda/gpu-scan-cli",
107+
"vortex-cuda/macros",
108+
"vortex-cuda/nvcomp",
109+
"vortex-cxx",
110+
"vortex-ffi",
111+
"vortex-jni",
112+
"vortex-python",
113+
"vortex-tui",
114+
"vortex-web/crate",
115+
"vortex-sqllogictest",
116+
"vortex-test/compat-gen",
117+
"vortex-test/e2e-cuda",
118+
"xtask",
119+
"encodings/fastlanes",
120+
"encodings/decimal-byte-parts",
121+
"encodings/runend",
122+
"encodings/sequence",
123+
"encodings/alp",
124+
"encodings/datetime-parts",
125+
"encodings/fsst",
126+
"encodings/pco",
127+
"encodings/sparse",
128+
"encodings/zigzag",
129+
"encodings/zstd",
130+
"encodings/bytebool",
131+
"encodings/parquet-variant",
132+
"encodings/experimental/onpair",
133+
"vortex-geo",
134+
]
75135
resolver = "2"
76136

77137
[workspace.package]
@@ -388,6 +448,9 @@ unwrap_in_result = "deny"
388448
unwrap_used = "deny"
389449
use_debug = "deny"
390450

451+
[profile.dev.package."*"]
452+
debug = false
453+
391454
[profile.release]
392455
codegen-units = 1
393456
# Our general performance should not be dependent on LTO since crates that use

0 commit comments

Comments
 (0)