Skip to content

Commit 926c571

Browse files
committed
build benchmark binaries once for all matrix targets
Signed-off-by: Mikhail Kot <mikhail@spiraldb.com>
1 parent 25c0ff3 commit 926c571

1 file changed

Lines changed: 52 additions & 9 deletions

File tree

.github/workflows/sql-benchmarks.yml

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,52 @@ on:
256256
]
257257
258258
jobs:
259+
build:
260+
timeout-minutes: 60
261+
env:
262+
VORTEX_EXPERIMENTAL_PATCHED_ARRAY: "1"
263+
FLAT_LAYOUT_INLINE_ARRAY_NODE: "1"
264+
runs-on: >-
265+
${{ github.repository == 'vortex-data/vortex'
266+
&& format('runs-on={0}/runner=bench-dedicated/instance-type={1}/tag=build{2}', github.run_id, inputs.machine_type, (inputs.mode != 'pr' || github.event.pull_request.head.repo.fork == false) && '/extras=s3-cache' || '')
267+
|| 'ubuntu-latest' }}
268+
steps:
269+
- uses: runs-on/action@v2
270+
if: inputs.mode != 'pr' || github.event.pull_request.head.repo.fork == false
271+
with:
272+
sccache: s3
273+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
274+
if: inputs.mode == 'pr'
275+
with:
276+
ref: ${{ github.event.pull_request.head.sha }}
277+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
278+
if: inputs.mode != 'pr'
279+
- uses: ./.github/actions/setup-rust
280+
with:
281+
repo-token: ${{ secrets.GITHUB_TOKEN }}
282+
- name: Build binaries
283+
shell: bash
284+
env:
285+
RUSTFLAGS: "-C target-cpu=native"
286+
run: |
287+
packages="--bin data-gen --bin datafusion-bench --bin duckdb-bench"
288+
if [ "${{ inputs.mode }}" != "pr" ]; then
289+
packages="$packages --bin lance-bench"
290+
fi
291+
cargo build $packages --profile release_debug --features unstable_encodings
292+
- name: Upload binaries
293+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
294+
with:
295+
name: bench-binaries
296+
path: |
297+
target/release_debug/libduckdb.so
298+
target/release_debug/data-gen
299+
target/release_debug/datafusion-bench
300+
target/release_debug/duckdb-bench
301+
target/release_debug/lance-bench
302+
259303
bench:
304+
needs: build
260305
timeout-minutes: 120
261306
env:
262307
VORTEX_EXPERIMENTAL_PATCHED_ARRAY: "1"
@@ -317,16 +362,14 @@ jobs:
317362
echo '__TARGETS_JSON__'
318363
} >> "$GITHUB_OUTPUT"
319364
320-
- name: Build binaries
365+
- name: Download binaries
366+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
367+
with:
368+
name: bench-binaries
369+
path: target/release_debug/
370+
- name: Make binaries executable
321371
shell: bash
322-
env:
323-
RUSTFLAGS: "-C target-cpu=native"
324-
run: |
325-
packages="--bin data-gen --bin datafusion-bench --bin duckdb-bench"
326-
if [ "${{ inputs.mode }}" != "pr" ]; then
327-
packages="$packages --bin lance-bench"
328-
fi
329-
cargo build $packages --profile release_debug --features unstable_encodings
372+
run: chmod +x target/release_debug/*
330373

331374
- name: Generate data
332375
shell: bash

0 commit comments

Comments
 (0)