Skip to content

Commit 7dd56e9

Browse files
committed
Add annotations to PR benchmark pipeline
1 parent 953b9ef commit 7dd56e9

File tree

1 file changed

+37
-9
lines changed

1 file changed

+37
-9
lines changed

.buildkite/scripts/generate-pr-performance-benchmark.sh

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,67 @@
22

33
set -euo pipefail
44

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+
516
env_id_baseline=$(python3 -c 'import uuid; print(uuid.uuid4())')
617
env_id_contender=$(python3 -c 'import uuid; print(uuid.uuid4())')
718
merge_base=$(git merge-base "${GITHUB_PR_TARGET_BRANCH}" HEAD)
819

20+
# PR comment
21+
buildkite-agent meta-data set pr_comment:early_comment_job_id "$BUILDKITE_JOB_ID"
922
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."
1124
buildkite-agent meta-data set pr_comment:custom-baseline:head \
1225
"* Baseline: ${merge_base} (env ID ${env_id_baseline})"
1326
buildkite-agent meta-data set pr_comment:custom-contender:head \
1427
"* Contender: ${GITHUB_PR_TRIGGERED_SHA} (env ID ${env_id_contender})"
1528

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_
1737
steps:
18-
- label: Trigger baseline benchmark
38+
- label: Trigger baseline benchmark with ${merge_base:0:7}
1939
trigger: elasticsearch-performance-esbench-pr
2040
build:
21-
message: Baseline benchmark for PR${GITHUB_PR_NUMBER}
41+
message: Baseline benchmark for PR${GITHUB_PR_NUMBER} with ${merge_base:0:7}
2242
branch: master
2343
env:
2444
CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK}
2545
ENV_ID: ${env_id_baseline}
2646
REVISION: ${merge_base}
27-
- label: Trigger contender benchmark
47+
- label: Trigger contender benchmark with ${GITHUB_PR_TRIGGERED_SHA:0:7}
2848
trigger: elasticsearch-performance-esbench-pr
2949
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}
3151
branch: master
3252
env:
3353
CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK}
3454
ENV_ID: ${env_id_contender}
3555
ES_REPO_URL: https://github.com/${GITHUB_PR_OWNER}/${GITHUB_PR_REPO}.git
3656
REVISION: ${GITHUB_PR_TRIGGERED_SHA}
3757
- 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

Comments
 (0)