Skip to content

Commit a0ce86f

Browse files
authored
Add cascade of benchmarks (#257)
* Add wf to concurrency group, uncomment benchmark * Remove repository_dispatch from others * Move config * Add description * Update descriptions
1 parent a36b600 commit a0ce86f

File tree

5 files changed

+19
-12
lines changed

5 files changed

+19
-12
lines changed

.github/workflows/continuous-benchmark-2.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
name: Continuous Benchmark 2
22

33
on:
4-
repository_dispatch:
54
workflow_dispatch:
65
inputs:
76
feature_flags_all:

.github/workflows/continuous-benchmark.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
name: Continuous Benchmark
22

33
on:
4-
repository_dispatch:
54
workflow_dispatch:
65
inputs:
76
with_payload:

.github/workflows/manual-benchmark.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
name: Manual Benchmark
22

33
on:
4-
repository_dispatch:
54
workflow_dispatch:
65
inputs:
76
qdrant_version:

.github/workflows/manual-benchmarks-cascade.yaml

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,41 @@
11
name: Automated Cascade of Benchmarks
2+
description: |
3+
This workflow runs a series of benchmarks in a cascade fashion.
4+
It can be triggered manually or via repository dispatch events.
5+
The benchmarks are defined in `benchmark_cascade/benchmark-configs.json`.
26
37
on:
48
repository_dispatch:
59
types: [run-benchmark, run-benchmark-cascade]
610
workflow_dispatch:
711
inputs:
812
qdrant_version:
9-
description: "Version of qdrant to benchmark (tags/v1.6.1, <commit-id>, my-branch, docker/v1.5.1, ghcr/dev)"
13+
description: "Version of qdrant to benchmark (docker/v1.5.1, ghcr/dev etc), used when benchmark_set=single"
1014
default: ghcr/dev
1115
dataset:
12-
description: "Dataset to benchmark"
16+
description: "Dataset to benchmark (used if benchmark_set=single)"
1317
default: laion-small-clip
1418
engine_config:
15-
description: "Engine config to benchmark"
19+
description: "Engine config to benchmark (used if benchmark_set=single)"
1620
default: qdrant-continuous-benchmark
1721
feature_flags_all:
1822
type: boolean
19-
description: "Enable all feature flags (false by default)"
23+
description: "Enable all feature flags (false by default, used if benchmark_set=single)"
2024
default: false
2125
# Inputs to control cascade behavior
2226
benchmark_set:
23-
description: "Benchmark set to run (from benchmark-configs.json)"
24-
default: "smoke_test"
27+
description: "Benchmark set to run (from benchmark_cascade/benchmark-configs.json)"
28+
default: "single"
2529
current_index:
2630
description: "Current benchmark index in cascade (internal use)"
2731
default: "0"
2832

33+
# Restrict to only running this workflow one at a time.
34+
# Any new runs will be queued until the previous run is complete.
35+
# Any existing pending runs will be cancelled and replaced with current run.
36+
concurrency:
37+
group: continuous-benchmark
38+
2939
jobs:
3040
runBenchmark:
3141
name: benchmark - ${{ github.event.client_payload.qdrant_version || inputs.qdrant_version }} - ${{ github.event.client_payload.dataset || inputs.dataset }}
@@ -40,7 +50,7 @@ jobs:
4050
- name: Set benchmark configuration
4151
id: config
4252
run: |
43-
CONFIG_FILE="benchmark-configs.json"
53+
CONFIG_FILE="benchmark_cascade/benchmark-configs.json"
4454
4555
if [ "${{ github.event_name }}" = "repository_dispatch" ]; then
4656
# Repository dispatch - get values from payload
@@ -119,13 +129,13 @@ jobs:
119129
export POSTGRES_TABLE=benchmark_manual
120130
export QDRANT__FEATURE_FLAGS__ALL=${{ steps.config.outputs.feature_flags_all }}
121131
bash -x tools/setup_ci.sh
122-
# bash -x tools/run_ci.sh
132+
bash -x tools/run_ci.sh
123133
124134
# Trigger next benchmark in cascade if there are more to run
125135
- name: Trigger next benchmark
126136
if: steps.config.outputs.benchmark_set != 'single'
127137
run: |
128-
CONFIG_FILE="benchmark-configs.json"
138+
CONFIG_FILE="benchmark_cascade/benchmark-configs.json"
129139
BENCHMARK_SET="${{ steps.config.outputs.benchmark_set }}"
130140
CURRENT_INDEX=${{ steps.config.outputs.current_index }}
131141
NEXT_INDEX=$((CURRENT_INDEX + 1))
File renamed without changes.

0 commit comments

Comments
 (0)