From b8b04ed25e33dbe1fb86a7a57f2a6eef86b7a922 Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 20:29:27 -0400 Subject: [PATCH 1/8] Fix Integration Test Logging For Elasticsearch Signed-off-by: Mahad Zaryab --- .github/workflows/ci-e2e-elasticsearch.yml | 5 ----- scripts/es-integration-test.sh | 25 ++++++++++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci-e2e-elasticsearch.yml b/.github/workflows/ci-e2e-elasticsearch.yml index 2a5165b3bf3..47796eb3052 100644 --- a/.github/workflows/ci-e2e-elasticsearch.yml +++ b/.github/workflows/ci-e2e-elasticsearch.yml @@ -58,11 +58,6 @@ jobs: id: test-execution run: bash scripts/es-integration-test.sh ${{ matrix.version.distribution }} ${{ matrix.version.major }} ${{ matrix.version.jaeger }} - - - name: Output ${{ matrix.version.distribution }} logs - run: docker compose -f ${{ steps.test-execution.outputs.docker_compose_file }} logs - if: ${{ failure() }} - - name: Upload coverage to codecov uses: ./.github/actions/upload-codecov with: diff --git a/scripts/es-integration-test.sh b/scripts/es-integration-test.sh index d5b0327d40a..4a770d39845 100755 --- a/scripts/es-integration-test.sh +++ b/scripts/es-integration-test.sh @@ -55,10 +55,6 @@ wait_for_storage() { # if after all the attempts the storage is not accessible, terminate it and exit if [[ "$(curl "${params[@]}" "${url}")" != "200" ]]; then echo "ERROR: ${distro} is not ready at ${url} after $(( attempt * 10 )) seconds" - echo "::group::${distro} logs" - docker compose -f "${compose_file}" logs - echo "::endgroup::" - docker compose -f "${compose_file}" down db_is_up=0 else echo "SUCCESS: ${distro} is available at ${url}" @@ -87,18 +83,25 @@ bring_up_storage() { break fi done - if [ ${db_is_up} = "1" ]; then - # shellcheck disable=SC2064 - trap "teardown_storage ${compose_file}" EXIT - else - echo "ERROR: unable to start ${distro}" - exit 1 - fi + # shellcheck disable=SC2064 + trap "teardown_storage ${compose_file} ${distro}" EXIT +} + +dump_logs() { + local compose_file=$1 + local distro=$2 + echo "::group::${distro} logs" + docker compose -f "${compose_file}" logs + echo "::endgroup::" } # terminate the elasticsearch/opensearch container teardown_storage() { local compose_file=$1 + local distro=$2 + if [[ ${db_is_up} != "1" ]]; then + dump_logs "${compose_file}" "${distro}" + fi docker compose -f "${compose_file}" down } From adc32d95b40f4cb7e185446454d475396fa95f3e Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 20:38:01 -0400 Subject: [PATCH 2/8] Add Success Flag To Elasticsearch Integration Test Signed-off-by: Mahad Zaryab --- scripts/es-integration-test.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/es-integration-test.sh b/scripts/es-integration-test.sh index 4a770d39845..5cb6bd1c9b0 100755 --- a/scripts/es-integration-test.sh +++ b/scripts/es-integration-test.sh @@ -8,6 +8,7 @@ set -euf -o pipefail # use global variables to reflect status of db db_is_up= +success="false" usage() { echo "Usage: $0 " @@ -99,7 +100,7 @@ dump_logs() { teardown_storage() { local compose_file=$1 local distro=$2 - if [[ ${db_is_up} != "1" ]]; then + if [[ "$success" == "false" ]]; then dump_logs "${compose_file}" "${distro}" fi docker compose -f "${compose_file}" down @@ -134,6 +135,7 @@ main() { echo "ERROR: Invalid argument value jaeger_version=${j_version}, expecing v1/v2". exit 1 fi + success="true" } main "$@" From 873dac112ad1a5dea5a53c6edd3dc1b5259065e6 Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 21:17:18 -0400 Subject: [PATCH 3/8] Remove Open Search CI Step Signed-off-by: Mahad Zaryab --- .github/workflows/ci-e2e-opensearch.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci-e2e-opensearch.yml b/.github/workflows/ci-e2e-opensearch.yml index a25f3ed8f26..d7d8a48d9e2 100644 --- a/.github/workflows/ci-e2e-opensearch.yml +++ b/.github/workflows/ci-e2e-opensearch.yml @@ -56,11 +56,6 @@ jobs: id: test-execution run: bash scripts/es-integration-test.sh ${{ matrix.version.distribution }} ${{ matrix.version.major }} ${{ matrix.version.jaeger }} - - - name: Output ${{ matrix.version.distribution }} logs - run: docker compose -f ${{ steps.test-execution.outputs.docker_compose_file }} logs - if: ${{ failure() }} - - name: Upload coverage to codecov uses: ./.github/actions/upload-codecov with: From 09dbdaf6dd44c8a2e361aae7dd3d0cd8489130b3 Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 21:19:06 -0400 Subject: [PATCH 4/8] Remove Cassandra CI Step Signed-off-by: Mahad Zaryab --- .github/workflows/ci-e2e-cassandra.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/ci-e2e-cassandra.yml b/.github/workflows/ci-e2e-cassandra.yml index 6ba76478f6a..938ab126bde 100644 --- a/.github/workflows/ci-e2e-cassandra.yml +++ b/.github/workflows/ci-e2e-cassandra.yml @@ -45,10 +45,6 @@ jobs: id: test-execution run: bash scripts/cassandra-integration-test.sh ${{ matrix.version.major }} ${{ matrix.version.schema }} ${{ matrix.jaeger-version }} - - name: Output Cassandra logs - run: docker compose -f ${{ steps.test-execution.outputs.docker_compose_file }} logs - if: ${{ failure() }} - - name: Upload coverage to codecov uses: ./.github/actions/upload-codecov with: From d56c0d2641a381043c4f3f8fd403c359325f372e Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 21:29:05 -0400 Subject: [PATCH 5/8] Fix Integration Test Logging For Hotrod Signed-off-by: Mahad Zaryab --- .github/workflows/ci-docker-hotrod.yml | 4 ---- scripts/hotrod-integration-test.sh | 13 +++++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-docker-hotrod.yml b/.github/workflows/ci-docker-hotrod.yml index 3bb9e902a40..c2ba2e8d793 100644 --- a/.github/workflows/ci-docker-hotrod.yml +++ b/.github/workflows/ci-docker-hotrod.yml @@ -57,7 +57,3 @@ jobs: env: DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }} - - - name: Print logs from hotrod - run: docker compose -f ./examples/hotrod/docker-compose.yml logs - if: failure() diff --git a/scripts/hotrod-integration-test.sh b/scripts/hotrod-integration-test.sh index 949a8654cc1..2908e24a005 100755 --- a/scripts/hotrod-integration-test.sh +++ b/scripts/hotrod-integration-test.sh @@ -17,6 +17,7 @@ docker_compose_file="./examples/hotrod/docker-compose.yml" platforms="$(make echo-linux-platforms)" current_platform="$(go env GOOS)/$(go env GOARCH)" LOCAL_FLAG='' +success="false" while getopts "lp:h" opt; do case "${opt}" in @@ -33,8 +34,18 @@ while getopts "lp:h" opt; do esac done +dump_logs() { + local compose_file=$1 + echo "::group::🚧 🚧 🚧 Hotrod logs" + docker compose -f "${compose_file}" logs + echo "::endgroup::" +} + teardown() { echo "Tearing down..." + if [[ "$success" == "false" ]]; then + dump_logs "${docker_compose_file}" + fi docker compose -f "$docker_compose_file" down } trap teardown EXIT @@ -115,6 +126,8 @@ if [[ "$span_count" -lt "$EXPECTED_SPANS" ]]; then exit 1 fi +success="true" + # Ensure the image is published after successful test (maybe with -l flag if on a pull request). # This is where all those multi-platform binaries we built earlier are utilized. bash scripts/build-upload-a-docker-image.sh ${LOCAL_FLAG} -c example-hotrod -d examples/hotrod -p "${platforms}" From 41a8b2a38d287e1f55a155b932f2fa192629610d Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 21:31:04 -0400 Subject: [PATCH 6/8] Fix Output Formatting Signed-off-by: Mahad Zaryab --- scripts/hotrod-integration-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/hotrod-integration-test.sh b/scripts/hotrod-integration-test.sh index 2908e24a005..0cff5a405fc 100755 --- a/scripts/hotrod-integration-test.sh +++ b/scripts/hotrod-integration-test.sh @@ -36,7 +36,7 @@ done dump_logs() { local compose_file=$1 - echo "::group::🚧 🚧 🚧 Hotrod logs" + echo "::group:: Hotrod logs" docker compose -f "${compose_file}" logs echo "::endgroup::" } From f779ef8edfb600331ebb9ac5f88b39dc67d3680c Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 21:38:07 -0400 Subject: [PATCH 7/8] Add Error Message Back To ES Script Signed-off-by: Mahad Zaryab --- scripts/es-integration-test.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/es-integration-test.sh b/scripts/es-integration-test.sh index 5cb6bd1c9b0..f4ddc6295b5 100755 --- a/scripts/es-integration-test.sh +++ b/scripts/es-integration-test.sh @@ -85,7 +85,11 @@ bring_up_storage() { fi done # shellcheck disable=SC2064 - trap "teardown_storage ${compose_file} ${distro}" EXIT + trap "teardown_storage ${compose_file}" EXIT + if [ ${db_is_up} != "1" ]; then + echo "ERROR: unable to start ${distro}" + exit 1 + fi } dump_logs() { From 6cd6e2060200988abd052a13c2b1f097bcb121ee Mon Sep 17 00:00:00 2001 From: Mahad Zaryab Date: Sat, 31 Aug 2024 21:45:55 -0400 Subject: [PATCH 8/8] Add Missing Argument Signed-off-by: Mahad Zaryab --- scripts/es-integration-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/es-integration-test.sh b/scripts/es-integration-test.sh index f4ddc6295b5..d1e58af5e7d 100755 --- a/scripts/es-integration-test.sh +++ b/scripts/es-integration-test.sh @@ -85,7 +85,7 @@ bring_up_storage() { fi done # shellcheck disable=SC2064 - trap "teardown_storage ${compose_file}" EXIT + trap "teardown_storage ${compose_file} ${distro}" EXIT if [ ${db_is_up} != "1" ]; then echo "ERROR: unable to start ${distro}" exit 1