ci: add service host discovery and strict policy docs validation
Some checks failed
API Endpoint Tests / test-api-endpoints (push) Failing after 5s
CLI Tests / test-cli (push) Failing after 3m17s
Documentation Validation / validate-docs (push) Successful in 8s
Documentation Validation / validate-policies-strict (push) Failing after 3s
Integration Tests / test-service-integration (push) Failing after 1s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 30s
Package Tests / Python package - aitbc-core (push) Failing after 11s
Package Tests / Python package - aitbc-crypto (push) Failing after 11s
Package Tests / Python package - aitbc-sdk (push) Failing after 12s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 6s
Package Tests / JavaScript package - aitbc-token (push) Failing after 18s
Production Tests / Production Integration Tests (push) Failing after 11s
Python Tests / test-python (push) Failing after 2m54s
Security Scanning / security-scan (push) Failing after 48s

- Add multi-candidate host discovery (localhost, host.docker.internal, gateway) in api-endpoint-tests
- Pass discovered service host via AITBC_API_HOST environment variable to test script
- Update test_api_endpoints.py to use AITBC_API_HOST for all service URLs
- Add validate-policies-strict job to docs-validation workflow for policy Markdown files
- Add job names to package-tests matrix for better CI output clarity
- Add --import
This commit is contained in:
aitbc
2026-04-18 12:28:19 +02:00
parent 23348892b9
commit 3f98f3f7bf
10 changed files with 239 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env python3
"""CI test script for AITBC API endpoints."""
import os
import requests
import json
import time
@@ -8,11 +9,13 @@ import statistics
import sys
# Service ports (must match systemd config)
API_HOST = os.environ.get("AITBC_API_HOST", "localhost")
SERVICES = {
"coordinator": {"url": "http://localhost:8000", "endpoints": ["/", "/health", "/info"]},
"exchange": {"url": "http://localhost:8001", "endpoints": ["/", "/api/health", "/health", "/info"]},
"wallet": {"url": "http://localhost:8003", "endpoints": ["/", "/health", "/wallets"]},
"blockchain_rpc": {"url": "http://localhost:8006", "endpoints": ["/health", "/rpc/head", "/rpc/mempool"]},
"coordinator": {"url": f"http://{API_HOST}:8000", "endpoints": ["/", "/health", "/info"]},
"exchange": {"url": f"http://{API_HOST}:8001", "endpoints": ["/", "/api/health", "/health", "/info"]},
"wallet": {"url": f"http://{API_HOST}:8003", "endpoints": ["/", "/health", "/wallets"]},
"blockchain_rpc": {"url": f"http://{API_HOST}:8006", "endpoints": ["/health", "/rpc/head", "/rpc/mempool"]},
}
@@ -76,10 +79,10 @@ def main():
print("\n⚡ Performance tests...")
perf = test_performance([
("Coordinator", "http://localhost:8000/health"),
("Exchange", "http://localhost:8001/api/health"),
("Wallet", "http://localhost:8003/health"),
("Blockchain RPC", "http://localhost:8006/health"),
("Coordinator", f"http://{API_HOST}:8000/health"),
("Exchange", f"http://{API_HOST}:8001/api/health"),
("Wallet", f"http://{API_HOST}:8003/health"),
("Blockchain RPC", f"http://{API_HOST}:8006/health"),
])
all_results["performance"] = perf