9191
9292 export ENGINE_NAME="qdrant-all-on-disk-scalar-q"
9393 export DATASETS="random-768-100-tenants"
94+ export BENCHMARK_STRATEGY="tenants"
9495 export CONTAINER_MEM_LIMIT=160mb
9596
9697 # Benchmark the dev branch:
@@ -105,6 +106,82 @@ jobs:
105106 - name : Fail job if any of the benches failed
106107 if : steps.benches.outputs.failed == 'error' || steps.benches.outputs.failed == 'timeout'
107108 run : exit 1
109+ - name : Send Notification
110+ if : failure() || cancelled()
111+ uses : slackapi/slack-github-action@v1.26.0
112+ with :
113+ payload : |
114+ {
115+ "text": "CI tenants benchmarks run status: ${{ job.status }}",
116+ "blocks": [
117+ {
118+ "type": "section",
119+ "text": {
120+ "type": "mrkdwn",
121+ "text": "CI tenants benchmarks failed because of ${{ steps.benches.outputs.failed }}.\nView the results <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|here>"
122+ }
123+ }
124+ ]
125+ }
126+ env :
127+ SLACK_WEBHOOK_URL : ${{ secrets.CI_ALERTS_CHANNEL_WEBHOOK_URL }}
128+ SLACK_WEBHOOK_TYPE : INCOMING_WEBHOOK
129+ runLoadTimeBenchmark :
130+ runs-on : ubuntu-latest
131+ needs : runBenchmark
132+ if : ${{ always() }}
133+ steps :
134+ - uses : actions/checkout@v3
135+ - uses : webfactory/ssh-agent@v0.8.0
136+ with :
137+ ssh-private-key : ${{ secrets.SSH_PRIVATE_KEY }}
138+ - name : Benches
139+ id : benches
140+ run : |
141+ export HCLOUD_TOKEN=${{ secrets.HCLOUD_TOKEN }}
142+ export POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}
143+ export POSTGRES_HOST=${{ secrets.POSTGRES_HOST }}
144+ export SERVER_NAME="benchmark-server-3"
145+ bash -x tools/setup_ci.sh
146+
147+ set +e
148+
149+ # Benchmark collection load time
150+ export BENCHMARK_STRATEGY="collection-reload"
151+
152+ declare -A DATASET_TO_ENGINE
153+ declare -A DATASET_TO_URL
154+ DATASET_TO_ENGINE["all-payloads-default"]="qdrant-continuous-benchmark-snapshot"
155+ DATASET_TO_ENGINE["all-payloads-on-disk"]="qdrant-continuous-benchmark-snapshot"
156+ DATASET_TO_ENGINE["all-payloads-default-sparse"]="qdrant-continuous-benchmark-snapshot"
157+ DATASET_TO_ENGINE["all-payloads-on-disk-sparse"]="qdrant-continuous-benchmark-snapshot"
158+
159+ export STORAGE_URL="https://storage.googleapis.com/qdrant-benchmark-snapshots/all-payloads"
160+ DATASET_TO_URL["all-payloads-default"]="${STORAGE_URL}/benchmark-all-payloads-500k-768-default.snapshot"
161+ DATASET_TO_URL["all-payloads-on-disk"]="${STORAGE_URL}/benchmark-all-payloads-500k-768-on-disk.snapshot"
162+ DATASET_TO_URL["all-payloads-default-sparse"]="${STORAGE_URL}/benchmark-all-payloads-500k-sparse-default.snapshot"
163+ DATASET_TO_URL["all-payloads-on-disk-sparse"]="${STORAGE_URL}/benchmark-all-payloads-500k-sparse-on-disk.snapshot"
164+
165+ set +e
166+
167+ for dataset in "${!DATASET_TO_ENGINE[@]}"; do
168+ export ENGINE_NAME=${DATASET_TO_ENGINE[$dataset]}
169+ export DATASETS=$dataset
170+ export SNAPSHOT_URL=${DATASET_TO_URL[$dataset]}
171+
172+ # Benchmark the dev branch:
173+ export QDRANT_VERSION=ghcr/dev
174+ timeout 30m bash -x tools/run_ci.sh
175+
176+ # Benchmark the master branch:
177+ export QDRANT_VERSION=docker/master
178+ timeout 30m bash -x tools/run_ci.sh
179+ done
180+
181+ set -e
182+ - name : Fail job if any of the benches failed
183+ if : steps.benches.outputs.failed == 'error' || steps.benches.outputs.failed == 'timeout'
184+ run : exit 1
108185 - name : Send Notification
109186 if : failure() || cancelled()
110187 uses : slackapi/slack-github-action@v1.26.0
0 commit comments