Add production condition retrieval smoke test
This commit is contained in:
@@ -30,12 +30,27 @@ jobs:
|
||||
-f docker-compose.prod.yml \
|
||||
-f docker-compose.observability.yml \
|
||||
up -d --build \
|
||||
ai-service web prometheus tempo otel-collector grafana
|
||||
ai-service web prometheus tempo otel-collector grafana caddy
|
||||
sudo docker exec docker-caddy-1 caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
|
||||
sudo docker exec docker-caddy-1 caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile
|
||||
sudo docker exec docker-ai-service-1 python -m migrate
|
||||
sleep 10
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf http://ai-service:8000/health
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf http://ai-service:8000/ready
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf -o /dev/null http://web:3000
|
||||
if ! condition_response=$(sudo docker run --rm --network docker_default curlimages/curl -sf \
|
||||
-X POST http://ai-service:8000/v1/rag/query \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data '{"query":"Đợt gout cấp có thuốc nào được Dược thư ghi chỉ định?","subject_scope":"human","intent":"fact_lookup","conversation_id":"deploy-condition-smoke"}'); then
|
||||
sudo docker logs --tail 200 docker-ai-service-1
|
||||
exit 1
|
||||
fi
|
||||
if ! printf '%s' "${condition_response}" | grep -q '"decision":"answerable"'; then
|
||||
printf '%s\n' "${condition_response}"
|
||||
sudo docker logs --tail 200 docker-ai-service-1
|
||||
exit 1
|
||||
fi
|
||||
printf '%s' "${condition_response}" | grep -q '"section_key":"chi_dinh"'
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf http://prometheus:9090/-/ready
|
||||
for attempt in $(seq 1 12); do
|
||||
if sudo docker run --rm --network docker_default curlimages/curl -sf http://tempo:3200/ready; then
|
||||
@@ -51,6 +66,15 @@ jobs:
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf \
|
||||
-u "admin:${GRAFANA_ADMIN_PASSWORD}" \
|
||||
http://grafana:3000/api/datasources/uid/prometheus > /dev/null
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf \
|
||||
-u "admin:${GRAFANA_ADMIN_PASSWORD}" \
|
||||
http://grafana:3000/api/datasources/uid/tempo > /dev/null
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf \
|
||||
-u "admin:${GRAFANA_ADMIN_PASSWORD}" \
|
||||
http://grafana:3000/api/dashboards/uid/duocthu-observability \
|
||||
| grep -q '"uid":"duocthu-observability"'
|
||||
sudo docker run --rm --network docker_default curlimages/curl -sf \
|
||||
-o /dev/null https://realvuxbaro.me/grafana/login
|
||||
|
||||
correlation_id="observability-deploy-$(date +%s)"
|
||||
response_headers=$(sudo docker run --rm --network docker_default curlimages/curl -sf \
|
||||
|
||||
Reference in New Issue
Block a user