Skip to content

Commit 7116d77

Browse files
Merge branch 'develop' into cwirt/upstream-jni-scan-prefetch
2 parents dd89fdc + 9d2da79 commit 7116d77

355 files changed

Lines changed: 11806 additions & 11899 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/workflows/ci.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ jobs:
105105
--with tabulate --with xxhash \
106106
pytest scripts/tests/test_measurement_id.py \
107107
scripts/tests/test_benchmark_reporting.py scripts/tests/test_post_ingest.py \
108+
scripts/tests/test_refresh_bench_site.py \
108109
scripts/tests/test_codspeed_shards.py
109110
110111
python-test:

‎.github/workflows/codspeed.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ jobs:
4848
- ".github/workflows/codspeed.yml"
4949
5050
# CodSpeed rejects an upload with too many benchmarks, so the simulation benchmarks run in
51-
# shards of at most 800. The planner reads only Cargo.toml files and the committed benchmark
52-
# counts, so this job needs no Rust toolchain and takes seconds.
51+
# shards of at most 800. The planner balances recorded target runtimes across the available
52+
# slots, keeping allocation modes separate. It reads only manifests and committed estimates.
5353
plan-codspeed:
5454
name: "Plan Codspeed shards"
5555
if: github.event.pull_request.draft != true

‎.github/workflows/commit-metadata.yml‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ jobs:
4747
RDS_BENCH_INSTANCE_ENDPOINT: ${{ vars.RDS_BENCH_INSTANCE_ENDPOINT }}
4848
RDS_BENCH_DB_NAME: ${{ vars.RDS_BENCH_DB_NAME }}
4949
AWS_REGION: ${{ vars.RDS_BENCH_REGION }}
50-
BENCH_SITE_BASE_URL: ${{ vars.BENCH_SITE_BASE_URL }}
51-
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}
5250
run: |
5351
set -Eeuo pipefail
5452
echo -n > empty.jsonl
@@ -61,3 +59,13 @@ jobs:
6159
--commit-sha "${{ github.sha }}" \
6260
--branch "${{ github.ref_name }}" \
6361
--region "${AWS_REGION}"
62+
63+
# Tell the benchmarks website that the new commit exists. develop-bench.yml refreshes again
64+
# after its benchmark results are ingested, but it does not wait for this workflow, so a push
65+
# whose benchmark ingests all fail could otherwise leave this commit hidden by the cache.
66+
refresh-site:
67+
needs: commit-metadata
68+
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
69+
uses: ./.github/workflows/refresh-bench-site.yml
70+
secrets:
71+
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}

‎.github/workflows/develop-bench.yml‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@ permissions:
1414
jobs:
1515
build:
1616
timeout-minutes: 60
17-
# GitHub drops runner labels longer than 255 characters, and the job then waits for a runner
18-
# forever. With the long `family` list and the longest benchmark id, this label is close.
1917
runs-on: >-
2018
${{ github.repository == 'vortex-data/vortex'
21-
&& format('runs-on={0}/region=us-east-1/runner=bench-dedicated/family=c8gd.8xlarge+c8g.8xlarge+c8gn.8xlarge+m8gd.8xlarge+m8g.8xlarge+r8gd.8xlarge+r8g.8xlarge+x8g.8xlarge+i8g.8xlarge/image=ubuntu26-full-arm64-pre-v2/extras=s3-cache/tag={1}', github.run_id, matrix.benchmark.id)
19+
&& format('runs-on={0}/region=us-east-1/runner=arm64-bench/extras=s3-cache/tag={1}', github.run_id, matrix.benchmark.id)
2220
|| 'ubuntu-latest' }}
2321
strategy:
2422
fail-fast: false
@@ -238,8 +236,6 @@ jobs:
238236
RDS_BENCH_INSTANCE_ENDPOINT: ${{ vars.RDS_BENCH_INSTANCE_ENDPOINT }}
239237
RDS_BENCH_DB_NAME: ${{ vars.RDS_BENCH_DB_NAME }}
240238
AWS_REGION: ${{ vars.RDS_BENCH_REGION }}
241-
BENCH_SITE_BASE_URL: ${{ vars.BENCH_SITE_BASE_URL }}
242-
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}
243239
run: |
244240
set -Eeuo pipefail
245241
curl -fsSL https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem \
@@ -266,3 +262,13 @@ jobs:
266262
with:
267263
mode: "develop"
268264
matrix_preset: "develop"
265+
266+
# Tell the benchmarks website that new results exist, once per push, after every benchmark job
267+
# of the push has ingested its results. `always()` runs it even when a benchmark job failed, so
268+
# the results that other jobs ingested still appear.
269+
refresh-site:
270+
needs: [bench, sql]
271+
if: ${{ always() }}
272+
uses: ./.github/workflows/refresh-bench-site.yml
273+
secrets:
274+
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}

‎.github/workflows/nightly-bench.yml‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,12 @@ jobs:
3131
machine_type:
3232
- id: arm64
3333
instance_name: c8gd.metal-24xl
34+
35+
# Tell the benchmarks website that new results exist, once per run, after every machine type
36+
# has ingested its results. `always()` runs it even when one machine type failed.
37+
refresh-site:
38+
needs: sql
39+
if: ${{ always() }}
40+
uses: ./.github/workflows/refresh-bench-site.yml
41+
secrets:
42+
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}

‎.github/workflows/pr-bench-runner.yml‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,9 @@ permissions:
4444
jobs:
4545
build:
4646
timeout-minutes: 60
47-
# GitHub drops runner labels longer than 255 characters, and the job then waits for a runner
48-
# forever. With the long `family` list and the longest benchmark id, this label is close.
4947
runs-on: >-
5048
${{ github.repository == 'vortex-data/vortex'
51-
&& format('runs-on={0}/region=us-east-1/runner=bench-dedicated/family=c8gd.8xlarge+c8g.8xlarge+c8gn.8xlarge+m8gd.8xlarge+m8g.8xlarge+r8gd.8xlarge+r8g.8xlarge+x8g.8xlarge+i8g.8xlarge/image=ubuntu26-full-arm64-pre-v2/tag={1}{2}', github.run_id, inputs.benchmark_id, github.event.pull_request.head.repo.fork == false && '/extras=s3-cache' || '')
49+
&& format('runs-on={0}/region=us-east-1/runner=arm64-bench/tag={1}{2}', github.run_id, inputs.benchmark_id, github.event.pull_request.head.repo.fork == false && '/extras=s3-cache' || '')
5250
|| 'ubuntu-latest' }}
5351
steps:
5452
- uses: runs-on/action@v2
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Tells the benchmarks website that new results exist, then warms its default pages. Callers run
2+
# it once per run, after their benchmark ingests finish, instead of once per benchmark job. This
3+
# keeps the website from flushing and refilling its cache dozens of times an hour while
4+
# benchmarks run. The script does nothing when the URL or the token is not set.
5+
6+
name: Refresh benchmarks website
7+
8+
on:
9+
workflow_call:
10+
secrets:
11+
BENCH_REVALIDATE_TOKEN:
12+
required: false
13+
14+
jobs:
15+
refresh:
16+
if: vars.BENCH_SITE_BASE_URL != ''
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 10
19+
permissions:
20+
contents: read
21+
steps:
22+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
23+
with:
24+
sparse-checkout: scripts
25+
- name: Revalidate and warm the benchmarks website
26+
env:
27+
BENCH_SITE_BASE_URL: ${{ vars.BENCH_SITE_BASE_URL }}
28+
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}
29+
run: python3 scripts/refresh-bench-site.py

‎.github/workflows/sql-bench-matrix.yml‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
FLAT_LAYOUT_INLINE_ARRAY_NODE: "1"
5050
runs-on: >-
5151
${{ github.repository == 'vortex-data/vortex'
52-
&& format('runs-on={0}/region=us-east-1/runner=bench-dedicated/family=c8gd.8xlarge+c8g.8xlarge+c8gn.8xlarge+m8gd.8xlarge+m8g.8xlarge+r8gd.8xlarge+r8g.8xlarge+x8g.8xlarge+i8g.8xlarge/image=ubuntu26-full-arm64-pre-v2/tag=build{1}', github.run_id, (inputs.mode != 'pr' || github.event.pull_request.head.repo.fork == false) && '/extras=s3-cache' || '')
52+
&& format('runs-on={0}/region=us-east-1/runner=arm64-bench/tag=build{1}', github.run_id, (inputs.mode != 'pr' || github.event.pull_request.head.repo.fork == false) && '/extras=s3-cache' || '')
5353
|| 'ubuntu-latest' }}
5454
steps:
5555
- uses: runs-on/action@v2
@@ -308,8 +308,6 @@ jobs:
308308
RDS_BENCH_INSTANCE_ENDPOINT: ${{ vars.RDS_BENCH_INSTANCE_ENDPOINT }}
309309
RDS_BENCH_DB_NAME: ${{ vars.RDS_BENCH_DB_NAME }}
310310
AWS_REGION: ${{ vars.RDS_BENCH_REGION }}
311-
BENCH_SITE_BASE_URL: ${{ vars.BENCH_SITE_BASE_URL }}
312-
BENCH_REVALIDATE_TOKEN: ${{ secrets.BENCH_REVALIDATE_TOKEN }}
313311
run: |
314312
set -Eeuo pipefail
315313
curl -fsSL https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem \

‎.github/workflows/web.yml‎

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,19 @@ jobs:
5656
uses: taiki-e/install-action@1e29709c0ec63babbe8f266397a465f29a825f91 # v2
5757
with:
5858
tool: wasm-pack@0.15.0
59+
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
60+
with:
61+
bun-version: 1.4.3
62+
# Storybook and Vite run on Node, and Bun runs their scripts with it.
5963
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
6064
with:
6165
node-version: "24"
62-
cache: "npm"
63-
cache-dependency-path: vortex-web/package-lock.json
64-
- run: npm ci
65-
- run: npm run wasm
66-
- run: npm run format:check
67-
- run: npm run lint
68-
- run: npm run typecheck
69-
- run: npm run build-storybook
66+
- run: bun install --frozen-lockfile
67+
- run: bun run wasm
68+
- run: bun run format:check
69+
- run: bun run lint
70+
- run: bun run typecheck
71+
- run: bun run build-storybook
7072

7173
build:
7274
name: Build
@@ -83,13 +85,15 @@ jobs:
8385
uses: taiki-e/install-action@1e29709c0ec63babbe8f266397a465f29a825f91 # v2
8486
with:
8587
tool: wasm-pack@0.15.0
88+
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
89+
with:
90+
bun-version: 1.4.3
91+
# Storybook and Vite run on Node, and Bun runs their scripts with it.
8692
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
8793
with:
8894
node-version: "24"
89-
cache: "npm"
90-
cache-dependency-path: vortex-web/package-lock.json
91-
- run: npm ci
92-
- run: npm run build
95+
- run: bun install --frozen-lockfile
96+
- run: bun run build
9397
- name: Upload build artifact
9498
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
9599
with:

‎Cargo.lock‎

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)