From 19d9363151498dbaec5d72a217c071b1832492b0 Mon Sep 17 00:00:00 2001 From: Shizun Ge Date: Fri, 20 Sep 2024 01:24:36 -0700 Subject: [PATCH] [tests] Add tests for `GANTRY_NOTIFICATION_CONDITION` --- src/lib-gantry.sh | 1 + tests/gantry_notify_spec.sh | 288 ++++++++++++++++++++++++++++--- tests/spec_gantry_test_helper.sh | 2 + 3 files changed, 264 insertions(+), 27 deletions(-) diff --git a/src/lib-gantry.sh b/src/lib-gantry.sh index 811b0c7..7cf1af3 100755 --- a/src/lib-gantry.sh +++ b/src/lib-gantry.sh @@ -405,6 +405,7 @@ _report_services() { case "${CONDITION}" in "on-change") if [ "${NUM_UPDATED}" = "0" ] && [ "${NUM_TOTAL_ERRORS}" = "0" ]; then + log DEBUG "Skip sending notification because there are no updates or errors." SEND_NOTIFICATION="false" fi ;; diff --git a/tests/gantry_notify_spec.sh b/tests/gantry_notify_spec.sh index a6764e2..8d56b5c 100644 --- a/tests/gantry_notify_spec.sh +++ b/tests/gantry_notify_spec.sh @@ -15,12 +15,60 @@ # along with this program. If not, see . # +export TOTAL_EMAIL_COUNT_IS_ONE="\"total\": *1," +export SEND_NOTIFY_APPRISE="Sent notification via Apprise" export SKIP_NOTIFY_APPRISE="Skip sending notification via Apprise" +export SKIP_NO_UPDATES="Skip sending notification because there are no updates or errors" + +UINQUE_ID="$(unique_id)" +export SERVICE_NAME_APPRISE="gantry-test-${UINQUE_ID}-apprise" +# APPRISE_PORT is hard coded in the Apprise container. +export APPRISE_PORT=8000 +export SMTP_PORT=1025 + +_notify_before_all() { + local SUITE_NAME="${1}" + initialize_all_tests "${SUITE_NAME}" + docker pull caronc/apprise + docker pull axllent/mailpit + # Use docker_run to improve coverage on lib-common.sh. `docker run` can do the same thing. + docker_run -d --restart=on-failure:10 --name="${SERVICE_NAME_APPRISE}" --network=host \ + -e "APPRISE_STATELESS_URLS=mailto://localhost:${SMTP_PORT}?user=userid&pass=password" \ + caronc/apprise +} + +_notify_after_all() { + local SUITE_NAME="${1}" + echo "Print Apprise log:" + docker logs "${SERVICE_NAME_APPRISE}" 2>&1 + docker_remove "${SERVICE_NAME_APPRISE}" 2>&1 + finish_all_tests "${SUITE_NAME}" +} + +_setup_emails() { + local SERVICE_NAME_MAILPIT="${1}" + local EMAIL_API_PORT="${2}" + docker_run -d --restart=on-failure:10 --name="${SERVICE_NAME_MAILPIT}" --network=host \ + axllent/mailpit \ + --smtp "localhost:${SMTP_PORT}" --listen "localhost:${EMAIL_API_PORT}" \ + --smtp-auth-accept-any --smtp-auth-allow-insecure +} + +_print_and_cleanup_emails() { + local SERVICE_NAME_MAILPIT="${1}" + local EMAIL_API_PORT="${2}" + echo "Print emails:" + curl --silent "localhost:${EMAIL_API_PORT}/api/v1/messages" 2>&1 + echo "Print Mailpit log:" + docker logs "${SERVICE_NAME_MAILPIT}" 2>&1 + # Use docker_remove to improve coverage on lib-common.sh. `docker stop` and `docker rm` can do the same thing. + docker_remove "${SERVICE_NAME_MAILPIT}" 2>&1 +} Describe 'notify' SUITE_NAME="notify" - BeforeAll "initialize_all_tests ${SUITE_NAME}" - AfterAll "finish_all_tests ${SUITE_NAME}" + BeforeAll "_notify_before_all ${SUITE_NAME}" + AfterAll "_notify_after_all ${SUITE_NAME}" Describe "test_notify_apprise" "container_test:true" TEST_NAME="test_notify_apprise" IMAGE_WITH_TAG=$(get_image_with_tag "${SUITE_NAME}") @@ -28,37 +76,16 @@ Describe 'notify' test_notify_apprise() { local TEST_NAME="${1}" local SERVICE_NAME="${2}" + local SERVICE_NAME_MAILPIT="${SERVICE_NAME}-mailpit" local RETURN_VALUE=0 - local APPRISE_PORT=8000 - local SMTP_PORT=1025 local EMAIL_API_PORT=8025 - local SERVICE_NAME_APPRISE="${SERVICE_NAME}-apprise" - local SERVICE_NAME_MAILPIT="${SERVICE_NAME}-mailpit" - docker pull caronc/apprise - docker pull axllent/mailpit - # Use docker_run to improve coverage on lib-common.sh. `docker run` can do the same thing. - docker_run -d --restart=on-failure:10 --name="${SERVICE_NAME_APPRISE}" --network=host \ - -e "APPRISE_STATELESS_URLS=mailto://localhost:${SMTP_PORT}?user=userid&pass=password" \ - caronc/apprise - docker_run -d --restart=on-failure:10 --name="${SERVICE_NAME_MAILPIT}" --network=host \ - axllent/mailpit \ - --smtp "localhost:${SMTP_PORT}" --listen "localhost:${EMAIL_API_PORT}" \ - --smtp-auth-accept-any --smtp-auth-allow-insecure + _setup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" reset_gantry_env "${SERVICE_NAME}" export GANTRY_NOTIFICATION_APPRISE_URL="http://localhost:${APPRISE_PORT}/notify" export GANTRY_NOTIFICATION_TITLE="TEST_TITLE" run_gantry "${TEST_NAME}" RETURN_VALUE="${?}" - echo "Print emails:" - curl --silent "localhost:${EMAIL_API_PORT}/api/v1/messages" 2>&1 - echo "" - echo "Print Apprise log:" - docker logs "${SERVICE_NAME_APPRISE}" 2>&1 - echo "Print Mailpit log:" - docker logs "${SERVICE_NAME_MAILPIT}" 2>&1 - # Use docker_remove to improve coverage on lib-common.sh. `docker stop` and `docker rm` can do the same thing. - docker_remove "${SERVICE_NAME_APPRISE}" - docker_remove "${SERVICE_NAME_MAILPIT}" + _print_and_cleanup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" return "${RETURN_VALUE}" } BeforeEach "common_setup_new_image ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" @@ -68,6 +95,7 @@ Describe 'notify' The status should be success The stdout should satisfy display_output The stdout should satisfy spec_expect_message "Subject.*1 services updated 0 failed TEST_TITLE" + The stdout should satisfy spec_expect_message "${TOTAL_EMAIL_COUNT_IS_ONE}" The stderr should satisfy display_output The stderr should satisfy spec_expect_no_message "${SKIP_UPDATING}.*${SERVICE_NAME}" The stderr should satisfy spec_expect_message "${PERFORM_UPDATING}.*${SERVICE_NAME}.*${PERFORM_REASON_HAS_NEWER_IMAGE}" @@ -90,7 +118,60 @@ Describe 'notify' The stderr should satisfy spec_expect_message "${REMOVED_IMAGE}.*${IMAGE_WITH_TAG}" The stderr should satisfy spec_expect_no_message "${FAILED_TO_REMOVE_IMAGE}.*${IMAGE_WITH_TAG}" The stderr should satisfy spec_expect_no_message "${SKIP_NOTIFY_APPRISE}" - The stderr should satisfy spec_expect_message "Sent notification via Apprise" + The stderr should satisfy spec_expect_message "${SEND_NOTIFY_APPRISE}" + End + End + Describe "test_notify_apprise_no_new_image" "container_test:true" + TEST_NAME="test_notify_apprise_no_new_image" + IMAGE_WITH_TAG=$(get_image_with_tag "${SUITE_NAME}") + SERVICE_NAME="gantry-test-$(unique_id)" + test_notify_apprise_no_new_image() { + local TEST_NAME="${1}" + local SERVICE_NAME="${2}" + local SERVICE_NAME_MAILPIT="${SERVICE_NAME}-mailpit" + local RETURN_VALUE=0 + local EMAIL_API_PORT=8025 + _setup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" + reset_gantry_env "${SERVICE_NAME}" + export GANTRY_NOTIFICATION_APPRISE_URL="http://localhost:${APPRISE_PORT}/notify" + export GANTRY_NOTIFICATION_TITLE="TEST_TITLE" + run_gantry "${TEST_NAME}" + RETURN_VALUE="${?}" + _print_and_cleanup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" + return "${RETURN_VALUE}" + } + BeforeEach "common_setup_no_new_image ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + AfterEach "common_cleanup ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + It 'run_test' + When run test_notify_apprise_no_new_image "${TEST_NAME}" "${SERVICE_NAME}" + The status should be success + The stdout should satisfy display_output + The stdout should satisfy spec_expect_message "Subject.*0 services updated 0 failed TEST_TITLE" + The stdout should satisfy spec_expect_message "${TOTAL_EMAIL_COUNT_IS_ONE}" + The stderr should satisfy display_output + The stderr should satisfy spec_expect_message "${SKIP_UPDATING}.*${SERVICE_NAME}.*${SKIP_REASON_CURRENT_IS_LATEST}" + The stderr should satisfy spec_expect_no_message "${PERFORM_UPDATING}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_SKIP_JOBS}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_INSPECT_FAILURE}" + The stderr should satisfy spec_expect_message "${NUM_SERVICES_NO_NEW_IMAGES}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATING}" + The stderr should satisfy spec_expect_no_message "${ADDING_OPTIONS}" + The stderr should satisfy spec_expect_no_message "${UPDATED}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NO_UPDATES}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLING_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${FAILED_TO_ROLLBACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLED_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${NO_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATE_FAILED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_ERRORS}" + The stderr should satisfy spec_expect_message "${NO_IMAGES_TO_REMOVE}" + The stderr should satisfy spec_expect_no_message "${REMOVING_NUM_IMAGES}" + The stderr should satisfy spec_expect_no_message "${SKIP_REMOVING_IMAGES}" + The stderr should satisfy spec_expect_no_message "${REMOVED_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_no_message "${FAILED_TO_REMOVE_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_no_message "${SKIP_NOTIFY_APPRISE}" + The stderr should satisfy spec_expect_message "${SEND_NOTIFY_APPRISE}" End End Describe "test_notify_apprise_bad_url" "container_test:true" @@ -135,4 +216,157 @@ Describe 'notify' The stderr should satisfy spec_expect_message "Failed to send notification via Apprise" End End + Describe "test_notify_on_change_new_image" "container_test:true" + TEST_NAME="test_notify_on_change_new_image" + IMAGE_WITH_TAG=$(get_image_with_tag "${SUITE_NAME}") + SERVICE_NAME="gantry-test-$(unique_id)" + test_notify_on_change_new_image() { + local TEST_NAME="${1}" + local SERVICE_NAME="${2}" + local SERVICE_NAME_MAILPIT="${SERVICE_NAME}-mailpit" + local RETURN_VALUE=0 + local EMAIL_API_PORT=8025 + _setup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" + reset_gantry_env "${SERVICE_NAME}" + export GANTRY_NOTIFICATION_APPRISE_URL="http://localhost:${APPRISE_PORT}/notify" + export GANTRY_NOTIFICATION_CONDITION="on-change" + export GANTRY_NOTIFICATION_TITLE="TEST_TITLE" + run_gantry "${TEST_NAME}" + RETURN_VALUE="${?}" + _print_and_cleanup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" + return "${RETURN_VALUE}" + } + BeforeEach "common_setup_new_image ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + AfterEach "common_cleanup ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + It 'run_test' + When run test_notify_on_change_new_image "${TEST_NAME}" "${SERVICE_NAME}" + The status should be success + The stdout should satisfy display_output + The stdout should satisfy spec_expect_message "Subject.*1 services updated 0 failed TEST_TITLE" + The stdout should satisfy spec_expect_message "${TOTAL_EMAIL_COUNT_IS_ONE}" + The stderr should satisfy display_output + The stderr should satisfy spec_expect_no_message "${SKIP_UPDATING}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${PERFORM_UPDATING}.*${SERVICE_NAME}.*${PERFORM_REASON_HAS_NEWER_IMAGE}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_SKIP_JOBS}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_INSPECT_FAILURE}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_NO_NEW_IMAGES}" + The stderr should satisfy spec_expect_message "${NUM_SERVICES_UPDATING}" + The stderr should satisfy spec_expect_message "${UPDATED}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NO_UPDATES}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLING_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${FAILED_TO_ROLLBACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLED_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NO_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_message "1 ${SERVICES_UPDATED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATE_FAILED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_ERRORS}" + The stderr should satisfy spec_expect_no_message "${NO_IMAGES_TO_REMOVE}" + The stderr should satisfy spec_expect_message "${REMOVING_NUM_IMAGES}" + The stderr should satisfy spec_expect_no_message "${SKIP_REMOVING_IMAGES}" + The stderr should satisfy spec_expect_message "${REMOVED_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_no_message "${FAILED_TO_REMOVE_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_no_message "${SKIP_NOTIFY_APPRISE}" + The stderr should satisfy spec_expect_message "${SEND_NOTIFY_APPRISE}" + End + End + Describe "test_notify_on_change_no_updates" "container_test:true" + TEST_NAME="test_notify_on_change_no_updates" + IMAGE_WITH_TAG=$(get_image_with_tag "${SUITE_NAME}") + SERVICE_NAME="gantry-test-$(unique_id)" + test_notify_on_change_no_updates() { + local TEST_NAME="${1}" + local SERVICE_NAME="${2}" + local RETURN_VALUE=0 + reset_gantry_env "${SERVICE_NAME}" + export GANTRY_NOTIFICATION_CONDITION="on-change" + export GANTRY_NOTIFICATION_TITLE="TEST_TITLE" + run_gantry "${TEST_NAME}" + RETURN_VALUE="${?}" + return "${RETURN_VALUE}" + } + BeforeEach "common_setup_no_new_image ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + AfterEach "common_cleanup ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + It 'run_test' + When run test_notify_on_change_no_updates "${TEST_NAME}" "${SERVICE_NAME}" + The status should be success + The stdout should satisfy display_output + The stdout should satisfy spec_expect_no_message "TEST_TITLE" + The stderr should satisfy display_output + The stderr should satisfy spec_expect_message "${SKIP_UPDATING}.*${SERVICE_NAME}.*${SKIP_REASON_CURRENT_IS_LATEST}" + The stderr should satisfy spec_expect_no_message "${PERFORM_UPDATING}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_SKIP_JOBS}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_INSPECT_FAILURE}" + The stderr should satisfy spec_expect_message "${NUM_SERVICES_NO_NEW_IMAGES}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATING}" + The stderr should satisfy spec_expect_no_message "${ADDING_OPTIONS}" + The stderr should satisfy spec_expect_no_message "${UPDATED}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NO_UPDATES}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLING_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${FAILED_TO_ROLLBACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLED_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${NO_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATE_FAILED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_ERRORS}" + The stderr should satisfy spec_expect_message "${NO_IMAGES_TO_REMOVE}" + The stderr should satisfy spec_expect_no_message "${REMOVING_NUM_IMAGES}" + The stderr should satisfy spec_expect_no_message "${SKIP_REMOVING_IMAGES}" + The stderr should satisfy spec_expect_no_message "${REMOVED_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_no_message "${FAILED_TO_REMOVE_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_message "${SKIP_NO_UPDATES}" + End + End + Describe "test_notify_on_change_errors" "container_test:false" + TEST_NAME="test_notify_on_change_errors" + IMAGE_WITH_TAG=$(get_image_with_tag "${SUITE_NAME}") + SERVICE_NAME="gantry-test-$(unique_id)" + test_notify_on_change_errors() { + local TEST_NAME="${1}" + local SERVICE_NAME="${2}" + local SERVICE_NAME_MAILPIT="${SERVICE_NAME}-mailpit" + local RETURN_VALUE=0 + local EMAIL_API_PORT=8025 + _setup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" + reset_gantry_env "${SERVICE_NAME}" + export GANTRY_UPDATE_OPTIONS="--bad-options-that-causes-error" + export GANTRY_NOTIFICATION_APPRISE_URL="http://localhost:${APPRISE_PORT}/notify" + export GANTRY_NOTIFICATION_CONDITION="on-change" + export GANTRY_NOTIFICATION_TITLE="TEST_TITLE" + run_gantry "${TEST_NAME}" + RETURN_VALUE="${?}" + _print_and_cleanup_emails "${SERVICE_NAME_MAILPIT}" "${EMAIL_API_PORT}" + return "${RETURN_VALUE}" + } + BeforeEach "common_setup_new_image ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + AfterEach "common_cleanup ${TEST_NAME} ${IMAGE_WITH_TAG} ${SERVICE_NAME}" + It 'run_test' + When run test_notify_on_change_errors "${TEST_NAME}" "${SERVICE_NAME}" + The status should be failure + The stdout should satisfy display_output + The stdout should satisfy spec_expect_message "Subject.*0 services updated 1 failed TEST_TITLE" + The stdout should satisfy spec_expect_message "${TOTAL_EMAIL_COUNT_IS_ONE}" + The stderr should satisfy display_output + The stderr should satisfy spec_expect_no_message "${SKIP_UPDATING}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${PERFORM_UPDATING}.*${SERVICE_NAME}.*${PERFORM_REASON_HAS_NEWER_IMAGE}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_SKIP_JOBS}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_INSPECT_FAILURE}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_NO_NEW_IMAGES}" + The stderr should satisfy spec_expect_message "${NUM_SERVICES_UPDATING}" + The stderr should satisfy spec_expect_no_message "${UPDATED}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${NO_UPDATES}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${ROLLING_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${FAILED_TO_ROLLBACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_no_message "${ROLLED_BACK}.*${SERVICE_NAME}" + The stderr should satisfy spec_expect_message "${NO_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_UPDATED}" + The stderr should satisfy spec_expect_message "${NUM_SERVICES_UPDATE_FAILED}" + The stderr should satisfy spec_expect_no_message "${NUM_SERVICES_ERRORS}" + The stderr should satisfy spec_expect_message "${NO_IMAGES_TO_REMOVE}" + The stderr should satisfy spec_expect_no_message "${REMOVING_NUM_IMAGES}" + The stderr should satisfy spec_expect_no_message "${SKIP_REMOVING_IMAGES}" + The stderr should satisfy spec_expect_no_message "${REMOVED_IMAGE}.*${IMAGE_WITH_TAG}" + The stderr should satisfy spec_expect_no_message "${SKIP_NOTIFY_APPRISE}" + The stderr should satisfy spec_expect_message "${SEND_NOTIFY_APPRISE}" + End + End End # Describe 'Notify' diff --git a/tests/spec_gantry_test_helper.sh b/tests/spec_gantry_test_helper.sh index d7abaf1..848716b 100644 --- a/tests/spec_gantry_test_helper.sh +++ b/tests/spec_gantry_test_helper.sh @@ -344,6 +344,7 @@ reset_gantry_env() { export GANTRY_CLEANUP_IMAGES_REMOVER=ghcr.io/shizunge/gantry-development export GANTRY_IMAGES_TO_REMOVE= export GANTRY_NOTIFICATION_APPRISE_URL= + export GANTRY_NOTIFICATION_CONDITION= export GANTRY_NOTIFICATION_TITLE= } @@ -681,6 +682,7 @@ _run_gantry_container() { --env "GANTRY_CLEANUP_IMAGES_REMOVER=${GANTRY_CLEANUP_IMAGES_REMOVER}" \ --env "GANTRY_IMAGES_TO_REMOVE=${GANTRY_IMAGES_TO_REMOVE}" \ --env "GANTRY_NOTIFICATION_APPRISE_URL=${GANTRY_NOTIFICATION_APPRISE_URL}" \ + --env "GANTRY_NOTIFICATION_CONDITION=${GANTRY_NOTIFICATION_CONDITION}" \ --env "GANTRY_NOTIFICATION_TITLE=${GANTRY_NOTIFICATION_TITLE}" \ --env "TZ=${TZ}" \ "${SUT_REPO_TAG}" \