|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +set -euo pipefail |
| 4 | + |
| 5 | +env_id_baseline=$(python3 -c 'import uuid; print(uuid.uuid4())') |
| 6 | +env_id_contender=$(python3 -c 'import uuid; print(uuid.uuid4())') |
| 7 | +merge_base=$(git merge-base "${GITHUB_PR_TARGET_BRANCH}" HEAD) |
| 8 | + |
| 9 | +buildkite-agent meta-data set pr_comment:custom-body:body \ |
| 10 | + "This build attempted two ${GITHUB_PR_COMMENT_VAR_BENCHMARK} benchmarks to evaluate performance impact of this PR." |
| 11 | +buildkite-agent meta-data set pr_comment:custom-baseline:head \ |
| 12 | + "* Baseline: ${merge_base} (env ID ${env_id_baseline})" |
| 13 | +buildkite-agent meta-data set pr_comment:custom-contender:head \ |
| 14 | + "* Contender: ${GITHUB_PR_TRIGGERED_SHA} (env ID ${env_id_contender})" |
| 15 | + |
| 16 | +cat << _EOF_ |
| 17 | +steps: |
| 18 | + - label: Trigger baseline benchmark |
| 19 | + trigger: elasticsearch-performance-esbench-pr |
| 20 | + build: |
| 21 | + message: Baseline benchmark for PR${GITHUB_PR_NUMBER} |
| 22 | + branch: master |
| 23 | + env: |
| 24 | + CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK} |
| 25 | + ENV_ID: ${env_id_baseline} |
| 26 | + REVISION: ${merge_base} |
| 27 | + - label: Trigger contender benchmark |
| 28 | + trigger: elasticsearch-performance-esbench-pr |
| 29 | + build: |
| 30 | + message: Contender benchmark for PR${GITHUB_PR_NUMBER} |
| 31 | + branch: master |
| 32 | + env: |
| 33 | + CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK} |
| 34 | + ENV_ID: ${env_id_contender} |
| 35 | + ES_REPO_URL: https://github.com/${GITHUB_PR_OWNER}/${GITHUB_PR_REPO}.git |
| 36 | + REVISION: ${GITHUB_PR_TRIGGERED_SHA} |
| 37 | + - wait: ~ |
| 38 | + - label: Modify PR comment |
| 39 | + command: buildkite-agent meta-data set pr_comment:custom-comparison:head "* [Benchmark results](<https://esbench-metrics.kb.us-east-2.aws.elastic-cloud.com:9243/app/dashboards#/view/d9079962-5866-49ef-b9f5-145f2141cd31?_a=(query:(language:kuery,query:'user-tags.env-id:${env_id_baseline} or user-tags.env-id:${env_id_contender}'))>)" |
| 40 | +_EOF_ |
0 commit comments