Skip to content

Commit 53806a4

Browse files
committed
Merge branch 'develop' into db/count-and-mean
# Conflicts: # vortex-array/public-api.lock # vortex-array/src/aggregate_fn/fns/mod.rs
2 parents 46db9fa + f87eefa commit 53806a4

911 files changed

Lines changed: 40376 additions & 30994 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/actions/setup-rust/action.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,6 @@ runs:
8484
if: runner.os != 'Windows'
8585
uses: ./.github/actions/setup-protoc
8686

87-
- name: Install Ninja (for DuckDB build system)
88-
uses: seanmiddleditch/gha-setup-ninja@v6
89-
9087
- name: Install Sweep
9188
shell: bash
9289
if: ${{ inputs.timestamp == 'true' && github.ref_name == 'develop' }}

.github/workflows/approvals.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: PR Approval Check
2+
3+
on:
4+
pull_request_review:
5+
types: [submitted, dismissed]
6+
7+
jobs:
8+
check-approvals:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Check required approvals
12+
uses: actions/github-script@450193c5abd4cdb17ba9f3ffcfe8f635c4bb6c2a
13+
with:
14+
script: |
15+
const pr = context.payload.pull_request;
16+
const reviews = await github.rest.pulls.listReviews({
17+
owner: context.repo.owner,
18+
repo: context.repo.repo,
19+
pull_number: pr.number,
20+
});
21+
22+
// Count unique human approvals (latest review per user)
23+
const latestByUser = {};
24+
for (const review of reviews.data) {
25+
if (review.user.type === 'Bot') continue;
26+
latestByUser[review.user.login] = review.state;
27+
}
28+
const approvalCount = Object.values(latestByUser)
29+
.filter(state => state === 'APPROVED').length;
30+
31+
// Determine if PR author is a bot/GitHub Actions
32+
const authorType = pr.user.type; // 'Bot' vs 'User'
33+
const authorLogin = pr.user.login; // e.g. 'github-actions[bot]'
34+
const isBot = authorType === 'Bot' || authorLogin.endsWith('[bot]');
35+
36+
const required = isBot ? 2 : 1;
37+
38+
console.log(`PR author: ${authorLogin} (${authorType}), isBot: ${isBot}`);
39+
console.log(`Approvals: ${approvalCount} / ${required} required`);
40+
41+
if (approvalCount < required) {
42+
core.setFailed(
43+
`This PR needs ${required} human approval(s) but has ${approvalCount}. ` +
44+
`(Author is ${isBot ? 'a bot' : 'human'})`
45+
);
46+
}

.github/workflows/bench-pr.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ jobs:
141141
"id": "clickbench-nvme",
142142
"subcommand": "clickbench",
143143
"name": "Clickbench on NVME",
144-
"targets": "datafusion:parquet,datafusion:vortex,duckdb:parquet,duckdb:vortex,duckdb:duckdb"
144+
"targets": "datafusion:parquet,datafusion:vortex,duckdb:parquet,duckdb:vortex,duckdb:duckdb",
145+
"extra_data_formats": "vortex-compact"
145146
},
146147
{
147148
"id": "tpch-nvme",

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ jobs:
395395
name: "Rust tests (${{ matrix.sanitizer }})"
396396
runs-on: >-
397397
${{ github.repository == 'vortex-data/vortex'
398-
&& format('runs-on={0}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=rust-test-sanitizer', github.run_id)
398+
&& format('runs-on={0}/pool=amd64-medium-pre-v2/tag=rust-test-sanitizer', github.run_id)
399399
|| 'ubuntu-latest' }}
400400
timeout-minutes: 40
401401
env:
@@ -699,7 +699,7 @@ jobs:
699699
name: "Java"
700700
runs-on: >-
701701
${{ github.repository == 'vortex-data/vortex'
702-
&& format('runs-on={0}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/tag=java', github.run_id)
702+
&& format('runs-on={0}/pool=amd64-medium-pre-v2/tag=java', github.run_id)
703703
|| 'ubuntu-latest' }}
704704
timeout-minutes: 40
705705
steps:
@@ -741,7 +741,7 @@ jobs:
741741
- uses: ./.github/actions/setup-prebuild
742742
- uses: ./.github/actions/system-info
743743
- name: Install Codspeed
744-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
744+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
745745
with:
746746
tool: cargo-codspeed
747747
- name: Build benchmarks
@@ -977,7 +977,7 @@ jobs:
977977
- uses: actions/checkout@v6
978978
- uses: ./.github/actions/setup-prebuild
979979
- name: Install cargo-edit
980-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
980+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
981981
with:
982982
tool: cargo-edit
983983
- name: Set Version

.github/workflows/close-fixed-fuzzer-issues.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
compiler: llvm
5050

5151
- name: Install cargo-fuzz
52-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
52+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
5353
with:
5454
tool: cargo-fuzz
5555

.github/workflows/fuzz-coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
echo "Found llvm-profdata at $LLVM_PROFDATA"
5151
5252
- name: Install cargo-fuzz
53-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
53+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
5454
with:
5555
tool: cargo-fuzz
5656

.github/workflows/fuzzer-fix-automation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
compiler: llvm
7070

7171
- name: Install cargo-fuzz
72-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
72+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
7373
with:
7474
tool: cargo-fuzz
7575

.github/workflows/minimize_fuzz_corpus_workflow.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
toolchain: ${{ env.NIGHTLY_TOOLCHAIN }}
5959

6060
- name: Install cargo-fuzz
61-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
61+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
6262
with:
6363
tool: cargo-fuzz
6464

.github/workflows/nightly-bench.yml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,33 +23,8 @@ jobs:
2323
with:
2424
mode: "develop"
2525
machine_type: ${{ matrix.machine_type.instance_name }}
26-
# datafusion:vortex uses a lot of memory
2726
benchmark_matrix: |
2827
[
29-
{
30-
"id": "clickbench-nvme",
31-
"subcommand": "clickbench",
32-
"name": "Clickbench on NVME",
33-
"targets": "datafusion:parquet,datafusion:vortex,datafusion:vortex-compact,datafusion:lance,duckdb:parquet,duckdb:vortex,duckdb:vortex-compact,duckdb:duckdb",
34-
"build_lance": true
35-
},
36-
{
37-
"id": "tpch-nvme",
38-
"subcommand": "tpch",
39-
"name": "TPC-H on NVME",
40-
"targets": "datafusion:parquet,datafusion:vortex,datafusion:lance,duckdb:parquet,duckdb:vortex,duckdb:duckdb",
41-
"scale_factor": "10.0",
42-
"build_lance": true
43-
},
44-
{
45-
"id": "tpch-s3",
46-
"subcommand": "tpch",
47-
"name": "TPC-H on S3",
48-
"local_dir": "vortex-bench/data/tpch/10.0",
49-
"remote_storage": "s3://vortex-ci-benchmark-datasets/${{github.ref_name}}/${{github.run_id}}/tpch/10.0/",
50-
"targets": "datafusion:parquet,datafusion:vortex,duckdb:parquet,duckdb:vortex",
51-
"scale_factor": "10.0"
52-
},
5328
{
5429
"id": "tpch-nvme",
5530
"subcommand": "tpch",
@@ -74,6 +49,3 @@ jobs:
7449
machine_type:
7550
- id: x86
7651
instance_name: c6id.8xlarge
77-
# TODO(joe): support other arch
78-
# - id: arm64
79-
# instance_name: c6gd.8xlarge

.github/workflows/package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
enable-sccache: "false"
4343

4444
- name: Install cargo-edit
45-
uses: taiki-e/cache-cargo-install-action@511847d4974b3aed52d8daf28cbea5313caf34f3
45+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
4646
with:
4747
tool: cargo-edit
4848

0 commit comments

Comments
 (0)