|
2 | 2 |
|
3 | 3 | set -euo pipefail |
4 | 4 |
|
| 5 | +# uncomment for tests |
| 6 | +#function buildkite-agent { |
| 7 | +# local command=$1 |
| 8 | +# echo "$@" |
| 9 | +# if [ "$command" == "annotate" ]; then |
| 10 | +# while read -r _; do |
| 11 | +# true; |
| 12 | +# done |
| 13 | +# fi |
| 14 | +#} |
| 15 | + |
5 | 16 | env_id_baseline=$(python3 -c 'import uuid; print(uuid.uuid4())') |
6 | 17 | env_id_contender=$(python3 -c 'import uuid; print(uuid.uuid4())') |
7 | 18 | merge_base=$(git merge-base "${GITHUB_PR_TARGET_BRANCH}" HEAD) |
8 | 19 |
|
| 20 | +# PR comment |
| 21 | +buildkite-agent meta-data set pr_comment:early_comment_job_id "$BUILDKITE_JOB_ID" |
9 | 22 | 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." |
| 23 | + "This build attempts two ${GITHUB_PR_COMMENT_VAR_BENCHMARK} benchmarks to evaluate performance impact of this PR." |
11 | 24 | buildkite-agent meta-data set pr_comment:custom-baseline:head \ |
12 | 25 | "* Baseline: ${merge_base} (env ID ${env_id_baseline})" |
13 | 26 | buildkite-agent meta-data set pr_comment:custom-contender:head \ |
14 | 27 | "* Contender: ${GITHUB_PR_TRIGGERED_SHA} (env ID ${env_id_contender})" |
15 | 28 |
|
16 | | -cat << _EOF_ |
| 29 | +# Buildkite annotation |
| 30 | +cat << _EOF1_ | buildkite-agent annotate --context "pr-benchmark-notification" |
| 31 | +This build attempts two ${GITHUB_PR_COMMENT_VAR_BENCHMARK} benchmarks to evaluate performance impact of this PR. |
| 32 | +* Baseline: [${merge_base:0:7}](https://github.com/elastic/elasticsearch/commit/${merge_base}) (env ID ${env_id_baseline}) |
| 33 | +* Contender: [${GITHUB_PR_TRIGGERED_SHA:0:7}](https://github.com/elastic/elasticsearch/commit/${GITHUB_PR_TRIGGERED_SHA}) (env ID ${env_id_contender}) |
| 34 | +_EOF1_ |
| 35 | + |
| 36 | +cat << _EOF2_ |
17 | 37 | steps: |
18 | | - - label: Trigger baseline benchmark |
| 38 | + - label: Trigger baseline benchmark with ${merge_base:0:7} |
19 | 39 | trigger: elasticsearch-performance-esbench-pr |
20 | 40 | build: |
21 | | - message: Baseline benchmark for PR${GITHUB_PR_NUMBER} |
| 41 | + message: Baseline benchmark for PR${GITHUB_PR_NUMBER} with ${merge_base:0:7} |
22 | 42 | branch: master |
23 | 43 | env: |
24 | 44 | CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK} |
25 | 45 | ENV_ID: ${env_id_baseline} |
26 | 46 | REVISION: ${merge_base} |
27 | | - - label: Trigger contender benchmark |
| 47 | + - label: Trigger contender benchmark with ${GITHUB_PR_TRIGGERED_SHA:0:7} |
28 | 48 | trigger: elasticsearch-performance-esbench-pr |
29 | 49 | build: |
30 | | - message: Contender benchmark for PR${GITHUB_PR_NUMBER} |
| 50 | + message: Contender benchmark for PR${GITHUB_PR_NUMBER} with ${GITHUB_PR_TRIGGERED_SHA:0:7} |
31 | 51 | branch: master |
32 | 52 | env: |
33 | 53 | CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK} |
34 | 54 | ENV_ID: ${env_id_contender} |
35 | 55 | ES_REPO_URL: https://github.com/${GITHUB_PR_OWNER}/${GITHUB_PR_REPO}.git |
36 | 56 | REVISION: ${GITHUB_PR_TRIGGERED_SHA} |
37 | 57 | - 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_ |
| 58 | + - label: Update PR comment and Buildkite annotation |
| 59 | + command: | |
| 60 | + buildkite-agent meta-data set pr_comment:custom-body:body "This build ran two ${GITHUB_PR_COMMENT_VAR_BENCHMARK} benchmarks to evaluate performance impact of this PR." |
| 61 | + 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}'))>)" |
| 62 | + cat << _EOF3_ | buildkite-agent annotate --context "pr-benchmark-notification" |
| 63 | +This build ran two ${GITHUB_PR_COMMENT_VAR_BENCHMARK} benchmarks to evaluate performance impact of this PR. |
| 64 | +* Baseline: [${merge_base:0:7}](https://github.com/elastic/elasticsearch/commit/${merge_base}) (env ID ${env_id_baseline}) |
| 65 | +* Contender: [${GITHUB_PR_TRIGGERED_SHA:0:7}](https://github.com/elastic/elasticsearch/commit/${GITHUB_PR_TRIGGERED_SHA}) (env ID ${env_id_contender}) |
| 66 | +* [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}'))>) |
| 67 | +_EOF3_ |
| 68 | +_EOF2_ |
0 commit comments