From 6ed06c7c3a42eff88b71fa02352efafa97690d48 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:17:08 +0100 Subject: [PATCH 01/32] put the steps in groups --- .buildkite/pipeline.yml | 82 +++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index c0a1d431..a96b9809 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -4,25 +4,27 @@ steps: agents: queue: "scala" - - label: "test {{ matrix }}" - command: "./builds/run_sbt_tests.sh {{ matrix }}" - matrix: - - "fixtures" - - "http" - - "json" - - "typesafe_app" - - "monitoring" - - "monitoring_typesafe" - - "messaging" - - "messaging_typesafe" - - "storage" - - "storage_typesafe" - - "elasticsearch" - - "elasticsearch_typesafe" - - "sierra" + - group: "Test" + steps: + - label: "test {{ matrix }}" + command: "./builds/run_sbt_tests.sh {{ matrix }}" + matrix: + - "fixtures" + - "http" + - "json" + - "typesafe_app" + - "monitoring" + - "monitoring_typesafe" + - "messaging" + - "messaging_typesafe" + - "storage" + - "storage_typesafe" + - "elasticsearch" + - "elasticsearch_typesafe" + - "sierra" - agents: - queue: "scala" + agents: + queue: "scala" - wait @@ -35,28 +37,30 @@ steps: - wait - - label: "publish {{ matrix }}" - if: build.branch == "main" - command: ".buildkite/scripts/publish.py {{ matrix }}" - matrix: - - "fixtures" - - "http" - - "http_typesafe" - - "json" - - "typesafe_app" - - "monitoring" - - "monitoring_typesafe" - - "messaging" - - "messaging_typesafe" - - "storage" - - "storage_typesafe" - - "elasticsearch" - - "elasticsearch_typesafe" - - "sierra" - - "sierra_typesafe" + - group: "Publish" + steps: + - label: "publish {{ matrix }}" + if: build.branch == "main" + command: ".buildkite/scripts/publish.py {{ matrix }}" + matrix: + - "fixtures" + - "http" + - "http_typesafe" + - "json" + - "typesafe_app" + - "monitoring" + - "monitoring_typesafe" + - "messaging" + - "messaging_typesafe" + - "storage" + - "storage_typesafe" + - "elasticsearch" + - "elasticsearch_typesafe" + - "sierra" + - "sierra_typesafe" - agents: - queue: "scala" + agents: + queue: "scala" - wait From 13e79aac4f11610405902833744bef0325f5b2f7 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:24:09 +0100 Subject: [PATCH 02/32] run evicted in buildkite --- .buildkite/pipeline.yml | 21 +++++++++++++++++++++ .gitignore | 3 +++ 2 files changed, 24 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index a96b9809..baef166a 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -26,6 +26,27 @@ steps: agents: queue: "scala" + - group: "Report evictions" + steps: + - label: "{{ matrix }} evicted" + command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted'" + matrix: + - "fixtures" + - "http" + - "json" + - "typesafe_app" + - "monitoring" + - "monitoring_typesafe" + - "messaging" + - "messaging_typesafe" + - "storage" + - "storage_typesafe" + - "elasticsearch" + - "elasticsearch_typesafe" + - "sierra" + + agents: + queue: "scala" - wait - label: "cut release" diff --git a/.gitignore b/.gitignore index 70a3bf65..379a0dba 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ metals.sbt .terraform terraform.plan + +# output from code checkers, tests etc. +.reports \ No newline at end of file From 113b8865fbc789fdbf68dfdb64fdc82f59cd6f08 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:29:34 +0100 Subject: [PATCH 03/32] annotate with any found warnings --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index baef166a..7b334f38 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -29,7 +29,7 @@ steps: - group: "Report evictions" steps: - label: "{{ matrix }} evicted" - command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted'" + command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\[warn\]' | buildkite-agent annotate" matrix: - "fixtures" - "http" From 185bf2078cfc5a9f0dd88dce7d3cbdf1605e1194 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:32:02 +0100 Subject: [PATCH 04/32] annotate with any found warnings --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 7b334f38..5d181b46 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -29,7 +29,7 @@ steps: - group: "Report evictions" steps: - label: "{{ matrix }} evicted" - command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\[warn\]' | buildkite-agent annotate" + command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]' | buildkite-agent annotate" matrix: - "fixtures" - "http" From 87ee71a38f58b3edc8a3b5342851f9a69d5cd7fb Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:34:38 +0100 Subject: [PATCH 05/32] do not annotate --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 5d181b46..43028916 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -29,7 +29,7 @@ steps: - group: "Report evictions" steps: - label: "{{ matrix }} evicted" - command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]' | buildkite-agent annotate" + command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]'" matrix: - "fixtures" - "http" From a3808832e74690e38567e86d11853e9ae24ea293 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:41:55 +0100 Subject: [PATCH 06/32] quieten composeNoBuild warning --- build.sbt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.sbt b/build.sbt index 38dc0be3..f64b45f8 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,7 @@ val projectVersion = "32.40.0" +Global / excludeLintKeys += composeNoBuild + lazy val fixtures = Common.setupProject( project, "fixtures", From df48a5d75e9eca5e2a65f41ea06930825b72a1ed Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:47:25 +0100 Subject: [PATCH 07/32] try soft failing on warnings --- .buildkite/pipeline.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 43028916..8dfbb14d 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -29,7 +29,14 @@ steps: - group: "Report evictions" steps: - label: "{{ matrix }} evicted" - command: "./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]'" + command: | + ./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]' | tee .reports/evicted" + WARNING_COUNT=$(sed '/^$/d' | wc -l ) + if [ $WARNING_COUNT != 0 ] + exit 2 + fi + soft_fail: + - exit_status: 2 matrix: - "fixtures" - "http" From 00502c60af1ca0436c80ee156399c1c6aecc6e84 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:49:42 +0100 Subject: [PATCH 08/32] try soft failing on warnings --- .buildkite/pipeline.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 8dfbb14d..2eb776db 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -29,12 +29,12 @@ steps: - group: "Report evictions" steps: - label: "{{ matrix }} evicted" - command: | - ./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]' | tee .reports/evicted" - WARNING_COUNT=$(sed '/^$/d' | wc -l ) - if [ $WARNING_COUNT != 0 ] - exit 2 - fi + - command: | + ./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]' | tee .reports/evicted" + WARNING_COUNT=$(sed '/^$/d' | wc -l ) + if [ $WARNING_COUNT != 0 ] + exit 2 + fi soft_fail: - exit_status: 2 matrix: From 9aeddbe2c09fae9f2cafb58c9cbd8d919ca30d82 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:54:14 +0100 Subject: [PATCH 09/32] shift eviction reporter to sh file --- .buildkite/pipeline.yml | 8 ++------ builds/report_sbt_evictions.sh | 5 +++++ 2 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 builds/report_sbt_evictions.sh diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 2eb776db..930e4e29 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -29,12 +29,8 @@ steps: - group: "Report evictions" steps: - label: "{{ matrix }} evicted" - - command: | - ./builds/run_sbt_task_in_docker.sh 'project {{ matrix }}' 'evicted' | grep '^\\[warn\\]' | tee .reports/evicted" - WARNING_COUNT=$(sed '/^$/d' | wc -l ) - if [ $WARNING_COUNT != 0 ] - exit 2 - fi + command: "./builds/report_sbt_evictions.sh {{ matrix }}" + soft_fail: - exit_status: 2 matrix: diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh new file mode 100644 index 00000000..1bb8f369 --- /dev/null +++ b/builds/report_sbt_evictions.sh @@ -0,0 +1,5 @@ +./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee .reports/evicted +WARNING_COUNT=$(sed '/^$/d' | wc -l ) +if [ $WARNING_COUNT != 0 ] + exit 2 +fi \ No newline at end of file From a371444ea0dd8dda9045c58ab78dba1e27d4d9b2 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:56:15 +0100 Subject: [PATCH 10/32] quieten release warning --- RELEASE.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000..12d2ccc8 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1 @@ +internal-only build improvements \ No newline at end of file From 200e2a49a7cf099b09bac6988b151c28dc97ae1c Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:57:03 +0100 Subject: [PATCH 11/32] rename new step --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 930e4e29..c8a3c31b 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -28,7 +28,7 @@ steps: - group: "Report evictions" steps: - - label: "{{ matrix }} evicted" + - label: "evictions {{ matrix }}" command: "./builds/report_sbt_evictions.sh {{ matrix }}" soft_fail: From 95bc72ecd6cc9a2f0e575d2b03a390c11849e013 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 14:58:46 +0100 Subject: [PATCH 12/32] allow script to actually run --- builds/report_sbt_evictions.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 builds/report_sbt_evictions.sh diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh old mode 100644 new mode 100755 From 7197fed88459411a5215a40f15c70f5a0747c623 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:00:40 +0100 Subject: [PATCH 13/32] allow script to actually run --- builds/report_sbt_evictions.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh index 1bb8f369..3c83f4bb 100755 --- a/builds/report_sbt_evictions.sh +++ b/builds/report_sbt_evictions.sh @@ -1,3 +1,4 @@ +mkdir -p .reports ./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee .reports/evicted WARNING_COUNT=$(sed '/^$/d' | wc -l ) if [ $WARNING_COUNT != 0 ] From 99d49fc3aae3d215b13cf8fd7d29c92b8bf229e3 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:02:49 +0100 Subject: [PATCH 14/32] quieten release warning --- RELEASE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 12d2ccc8..505bfee8 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1 +1 @@ -internal-only build improvements \ No newline at end of file +patch: internal-only build improvements \ No newline at end of file From b7543d7e7cae83e25aa0728c275c21d6d428e396 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:03:03 +0100 Subject: [PATCH 15/32] quieten release warning --- RELEASE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 505bfee8..ea53d1b2 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1 +1,2 @@ -patch: internal-only build improvements \ No newline at end of file +patch +internal-only build improvements \ No newline at end of file From c5f022af4700de56234e7834e5deb5ff0f18112b Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:04:32 +0100 Subject: [PATCH 16/32] quieten release warning --- RELEASE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index ea53d1b2..8365718e 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,2 +1,2 @@ -patch +RELEASE_TYPE: patch internal-only build improvements \ No newline at end of file From 4c83c22f4bdcd3773737b663bb2a3f92a13b86c3 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:43:11 +0100 Subject: [PATCH 17/32] let it finish --- .buildkite/pipeline.yml | 1 - builds/report_sbt_evictions.sh | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index c8a3c31b..6b25999d 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -30,7 +30,6 @@ steps: steps: - label: "evictions {{ matrix }}" command: "./builds/report_sbt_evictions.sh {{ matrix }}" - soft_fail: - exit_status: 2 matrix: diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh index 3c83f4bb..c029fdea 100755 --- a/builds/report_sbt_evictions.sh +++ b/builds/report_sbt_evictions.sh @@ -1,6 +1,6 @@ mkdir -p .reports ./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee .reports/evicted -WARNING_COUNT=$(sed '/^$/d' | wc -l ) +WARNING_COUNT=$(cat .reports/evicted | sed '/^$/d' | wc -l ) if [ $WARNING_COUNT != 0 ] exit 2 fi \ No newline at end of file From 69f7cde26b6e13a8729320ae3a96ac265050754c Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:54:17 +0100 Subject: [PATCH 18/32] improve warning detection --- builds/report_sbt_evictions.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh index c029fdea..e1793867 100755 --- a/builds/report_sbt_evictions.sh +++ b/builds/report_sbt_evictions.sh @@ -1,6 +1,8 @@ mkdir -p .reports ./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee .reports/evicted -WARNING_COUNT=$(cat .reports/evicted | sed '/^$/d' | wc -l ) +WARNING_COUNT=$(cat .reports/evicted | grep -E '^\[warn\]\s+\*' ) if [ $WARNING_COUNT != 0 ] +then + echo "found $WARNING_COUNT suspected binary incompatible evictions" exit 2 fi \ No newline at end of file From 5c22f2f9c17abbdef318c4d4bd8de2094e1b886f Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Tue, 3 Oct 2023 15:56:33 +0100 Subject: [PATCH 19/32] improve warning detection --- builds/report_sbt_evictions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh index e1793867..66e50684 100755 --- a/builds/report_sbt_evictions.sh +++ b/builds/report_sbt_evictions.sh @@ -1,7 +1,7 @@ mkdir -p .reports ./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee .reports/evicted -WARNING_COUNT=$(cat .reports/evicted | grep -E '^\[warn\]\s+\*' ) -if [ $WARNING_COUNT != 0 ] +WARNING_COUNT=$(cat .reports/evicted | grep -E '^\[warn\]\s+\*' | wc -l ) +if [ "$WARNING_COUNT" != "0" ] then echo "found $WARNING_COUNT suspected binary incompatible evictions" exit 2 From 8db059b647b972112851089bb7698f9928d73951 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 10:19:50 +0100 Subject: [PATCH 20/32] check that soft fail is set correctly --- .buildkite/pipeline.yml | 25 +++++++++++++++++++++++++ builds/report_sbt_evictions.sh | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 6b25999d..aa8044f8 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -4,6 +4,31 @@ steps: agents: queue: "scala" + - group: "Report evictions" + steps: + - label: "evictions {{ matrix }}" + command: "./builds/report_sbt_evictions.sh {{ matrix }}" + soft_fail: + - exit_status: 2 + matrix: + - "fixtures" + - "http" + - "json" + - "typesafe_app" + - "monitoring" + - "monitoring_typesafe" + - "messaging" + - "messaging_typesafe" + - "storage" + - "storage_typesafe" + - "elasticsearch" + - "elasticsearch_typesafe" + - "sierra" + + agents: + queue: "scala" + - wait + - group: "Test" steps: - label: "test {{ matrix }}" diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh index 66e50684..fee748e3 100755 --- a/builds/report_sbt_evictions.sh +++ b/builds/report_sbt_evictions.sh @@ -3,6 +3,6 @@ mkdir -p .reports WARNING_COUNT=$(cat .reports/evicted | grep -E '^\[warn\]\s+\*' | wc -l ) if [ "$WARNING_COUNT" != "0" ] then - echo "found $WARNING_COUNT suspected binary incompatible evictions" + echo "found $WARNING_COUNT suspected binary incompatible eviction(s)" exit 2 -fi \ No newline at end of file +fi From 15c1660a4fe2484c1ac5c3f23e30c18718a3d401 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 10:20:35 +0100 Subject: [PATCH 21/32] check that soft fail is set correctly --- .buildkite/pipeline.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index aa8044f8..e142e3c5 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -51,29 +51,6 @@ steps: agents: queue: "scala" - - group: "Report evictions" - steps: - - label: "evictions {{ matrix }}" - command: "./builds/report_sbt_evictions.sh {{ matrix }}" - soft_fail: - - exit_status: 2 - matrix: - - "fixtures" - - "http" - - "json" - - "typesafe_app" - - "monitoring" - - "monitoring_typesafe" - - "messaging" - - "messaging_typesafe" - - "storage" - - "storage_typesafe" - - "elasticsearch" - - "elasticsearch_typesafe" - - "sierra" - - agents: - queue: "scala" - wait - label: "cut release" From ca9916f1323c41f8310ed416b404650b3d639cff Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 12:12:34 +0100 Subject: [PATCH 22/32] report holistic evictions --- .buildkite/pipeline.yml | 27 +++++++++++++++------------ builds/report_sbt_evictions.sh | 5 +++-- builds/report_unique_evictions.sh | 2 ++ 3 files changed, 20 insertions(+), 14 deletions(-) create mode 100755 builds/report_unique_evictions.sh diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index e142e3c5..c4620329 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -4,12 +4,10 @@ steps: agents: queue: "scala" - - group: "Report evictions" + - group: "Test" steps: - - label: "evictions {{ matrix }}" - command: "./builds/report_sbt_evictions.sh {{ matrix }}" - soft_fail: - - exit_status: 2 + - label: "test {{ matrix }}" + command: "./builds/run_sbt_tests.sh {{ matrix }}" matrix: - "fixtures" - "http" @@ -27,12 +25,13 @@ steps: agents: queue: "scala" - - wait - - group: "Test" + - group: "Find evictions" steps: - - label: "test {{ matrix }}" - command: "./builds/run_sbt_tests.sh {{ matrix }}" + - label: "evictions {{ matrix }}" + command: "./builds/report_sbt_evictions.sh {{ matrix }}" + soft_fail: + - exit_status: 2 matrix: - "fixtures" - "http" @@ -47,12 +46,16 @@ steps: - "elasticsearch" - "elasticsearch_typesafe" - "sierra" - agents: queue: "scala" - + artifact_paths: + ".reports/evicted_{{ matrix }}" - wait - + - + - label: "report evictions" + commands: + - "buildkite-agent artifact download '.reports/evicted_*' ./reports" + - "report_unique_evictions.sh | buildkite-annotate --context=evictions" - label: "cut release" if: build.branch == "main" commands: diff --git a/builds/report_sbt_evictions.sh b/builds/report_sbt_evictions.sh index fee748e3..0645268e 100755 --- a/builds/report_sbt_evictions.sh +++ b/builds/report_sbt_evictions.sh @@ -1,6 +1,7 @@ mkdir -p .reports -./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee .reports/evicted -WARNING_COUNT=$(cat .reports/evicted | grep -E '^\[warn\]\s+\*' | wc -l ) +REPORT_FILE=".reports/evicted_${1}" +./builds/run_sbt_task_in_docker.sh "project $1" "evicted" | grep '^\[warn\]' | tee $REPORT_FILE +WARNING_COUNT=$(cat $REPORT_FILE | grep -E '^\[warn\]\s+\*' | wc -l ) if [ "$WARNING_COUNT" != "0" ] then echo "found $WARNING_COUNT suspected binary incompatible eviction(s)" diff --git a/builds/report_unique_evictions.sh b/builds/report_unique_evictions.sh new file mode 100755 index 00000000..0633a836 --- /dev/null +++ b/builds/report_unique_evictions.sh @@ -0,0 +1,2 @@ +echo "suspected binary incompatible evictions across all projects" +cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sort | uniq \ No newline at end of file From 000d6dee6a39147d0d7df8bea9949abc89dc1b79 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 12:17:00 +0100 Subject: [PATCH 23/32] fix typo --- .buildkite/pipeline.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index c4620329..ecc2253f 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -51,11 +51,12 @@ steps: artifact_paths: ".reports/evicted_{{ matrix }}" - wait - - + - label: "report evictions" commands: - "buildkite-agent artifact download '.reports/evicted_*' ./reports" - "report_unique_evictions.sh | buildkite-annotate --context=evictions" + - label: "cut release" if: build.branch == "main" commands: From 16291b6318166365f0fc4091f23ede0ba19e16d0 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 12:24:20 +0100 Subject: [PATCH 24/32] report holistic evictions --- .buildkite/pipeline.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index ecc2253f..d5f7dccc 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -26,7 +26,7 @@ steps: agents: queue: "scala" - - group: "Find evictions" + - group: "Report evictions" steps: - label: "evictions {{ matrix }}" command: "./builds/report_sbt_evictions.sh {{ matrix }}" @@ -50,12 +50,17 @@ steps: queue: "scala" artifact_paths: ".reports/evicted_{{ matrix }}" + + - wait + + - label: "Collate evictions" + commands: + - "buildkite-agent artifact download '.reports/evicted_*' ./reports" + - "report_unique_evictions.sh | buildkite-annotate --context=evictions" + agents: + queue: nano - wait - - - label: "report evictions" - commands: - - "buildkite-agent artifact download '.reports/evicted_*' ./reports" - - "report_unique_evictions.sh | buildkite-annotate --context=evictions" + - label: "cut release" if: build.branch == "main" From 025d0ba9312c374c3c9fddf54dbbd1e522ff03d7 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 12:28:33 +0100 Subject: [PATCH 25/32] report holistic evictions --- .buildkite/pipeline.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index d5f7dccc..b42d0549 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -55,7 +55,8 @@ steps: - label: "Collate evictions" commands: - - "buildkite-agent artifact download '.reports/evicted_*' ./reports" + - "mkdir -p .reports" + - "buildkite-agent artifact download '.reports/evicted_*' .reports/" - "report_unique_evictions.sh | buildkite-annotate --context=evictions" agents: queue: nano From 6fdf552bb4e192bc492a74c922647fd41ec40482 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 12:48:15 +0100 Subject: [PATCH 26/32] can't use matrix in artifact paths --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index b42d0549..fa158976 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -49,7 +49,7 @@ steps: agents: queue: "scala" artifact_paths: - ".reports/evicted_{{ matrix }}" + ".reports/evicted*" - wait From a186bf23819c3b76b6ea9da8224f2e3a71e9d96d Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 12:52:38 +0100 Subject: [PATCH 27/32] wrong path --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index fa158976..4af3d864 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -57,7 +57,7 @@ steps: commands: - "mkdir -p .reports" - "buildkite-agent artifact download '.reports/evicted_*' .reports/" - - "report_unique_evictions.sh | buildkite-annotate --context=evictions" + - "builds/report_unique_evictions.sh | buildkite-annotate --context=evictions" agents: queue: nano - wait From 38cc68a9749a63fb14a0d964a4cb7c93cd9e7e34 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 13:11:06 +0100 Subject: [PATCH 28/32] fix typo --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4af3d864..c944cb2c 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -57,7 +57,7 @@ steps: commands: - "mkdir -p .reports" - "buildkite-agent artifact download '.reports/evicted_*' .reports/" - - "builds/report_unique_evictions.sh | buildkite-annotate --context=evictions" + - "builds/report_unique_evictions.sh | buildkite-agent annotate --context=evictions" agents: queue: nano - wait From cb2630456b95b492acf7de6112d1c3bf310af5ae Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Wed, 4 Oct 2023 13:21:48 +0100 Subject: [PATCH 29/32] improve output --- builds/report_unique_evictions.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/builds/report_unique_evictions.sh b/builds/report_unique_evictions.sh index 0633a836..b191e647 100755 --- a/builds/report_unique_evictions.sh +++ b/builds/report_unique_evictions.sh @@ -1,2 +1,4 @@ -echo "suspected binary incompatible evictions across all projects" -cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sort | uniq \ No newline at end of file +echo "# Distinct suspected binary incompatible evictions across all projects" +echo '```' +cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sort | uniq +echo '```' From 93fc9292502f85d566c3b83a9eae2d951a45dbe1 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Thu, 5 Oct 2023 09:07:26 +0100 Subject: [PATCH 30/32] try bullets --- builds/report_unique_evictions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builds/report_unique_evictions.sh b/builds/report_unique_evictions.sh index b191e647..057ef132 100755 --- a/builds/report_unique_evictions.sh +++ b/builds/report_unique_evictions.sh @@ -1,4 +1,4 @@ -echo "# Distinct suspected binary incompatible evictions across all projects" +echo "# Suspected binary incompatible evictions across all projects (distinct)" +cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sed 's/.*\*/*/' |sort | uniq echo '```' -cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sort | uniq echo '```' From 5c4135ed5fee4741f9407541411b14b47d0ab5b4 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Thu, 5 Oct 2023 09:34:43 +0100 Subject: [PATCH 31/32] add summary note --- builds/report_unique_evictions.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/builds/report_unique_evictions.sh b/builds/report_unique_evictions.sh index 057ef132..e4ec4757 100755 --- a/builds/report_unique_evictions.sh +++ b/builds/report_unique_evictions.sh @@ -1,4 +1,4 @@ -echo "# Suspected binary incompatible evictions across all projects (distinct)" -cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sed 's/.*\*/*/' |sort | uniq -echo '```' -echo '```' +# Intended to be run after producing eviction reports with report_sbt_evictions.sh +echo "# Suspected binary incompatible evictions across all projects (summary)" +cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sed 's/.*\*/*/' | sort | uniq +echo "See individual _evictions_ stages for more detail" From 136ed4360d560574bbc5cff6d55c7c69caf32141 Mon Sep 17 00:00:00 2001 From: Paul Butcher Date: Thu, 5 Oct 2023 10:51:59 +0100 Subject: [PATCH 32/32] improve spacing --- builds/report_unique_evictions.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/builds/report_unique_evictions.sh b/builds/report_unique_evictions.sh index e4ec4757..f6cdc882 100755 --- a/builds/report_unique_evictions.sh +++ b/builds/report_unique_evictions.sh @@ -1,4 +1,5 @@ # Intended to be run after producing eviction reports with report_sbt_evictions.sh echo "# Suspected binary incompatible evictions across all projects (summary)" cat .reports/evicted_* | grep -E '^\[warn\]\s+\*' | sed 's/.*\*/*/' | sort | uniq +echo "" echo "See individual _evictions_ stages for more detail"