data-dwh-dbt-project/run_tests.sh
Pablo Martin ddc0a6a3f4 Merged PR 5678: Revert 'Prettify alerts in test script'
# Description

We revert this script to its previous step due to it being too fragile in the current implementation and us not having capacity to make it robust enough right now.

Reverts !5551

Related work items: #31476
2025-07-11 09:20:01 +00:00

46 lines
No EOL
1.4 KiB
Bash

#!/bin/bash
exec >> /home/azureuser/dbt_tests.log 2>&1
# Define the Slack webhook URL
script_dir=$(dirname "$0")
webhooks_file="slack_webhook_urls.txt"
env_file="$script_dir/$webhooks_file"
if [ -f "$env_file" ]; then
export $(grep -v '^#' "$env_file" | xargs)
else
echo "Error: $webhooks_file file not found in the script directory."
exit 1
fi
# Messages to be sent to Slack
slack_failure_message=":rotating_light::rotating_light::rotating_light: One or more failures in dbt tests in production. :rotating_light::rotating_light::rotating_light:"
slack_success_message=":white_check_mark::white_check_mark::white_check_mark: dbt tests executed successfully in production. :white_check_mark::white_check_mark::white_check_mark:"
# Initialize the failure flag
has_any_step_failed=0
cd /home/azureuser/data-dwh-dbt-project
# Update from git
echo "Updating dbt project from git."
git checkout master
git pull
# Activate venv
source venv/bin/activate
# Run tests
echo "Triggering dbt test"
dbt test
if [ $? -ne 0 ]; then
has_any_step_failed=1
fi
# Check if any step failed and send a Slack message
if [ $has_any_step_failed -eq 1 ]; then
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"$slack_failure_message\"}" $SLACK_ALERT_WEBHOOK_URL
fi
if [ $has_any_step_failed -eq 0 ]; then
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"$slack_success_message\"}" $SLACK_RECEIPT_WEBHOOK_URL
fi