All checks were successful
API Endpoint Tests / test-api-endpoints (push) Successful in 38s
Integration Tests / test-service-integration (push) Successful in 43s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 21s
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 36s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 19s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 20s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 16s
Python Tests / test-python (push) Successful in 1m4s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 1m13s
Rust ZK Components Tests / test-rust-zk (push) Successful in 44s
Security Scanning / security-scan (push) Successful in 42s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 39s
Smart Contract Tests / test-solidity (map[name:zk-circuits path:apps/zk-circuits]) (push) Successful in 44s
Smart Contract Tests / lint-solidity (push) Successful in 48s
Service health checks: - Exchange API uses /api/health not /health — updated test script and workflow wait loops to check /api/health as fallback - Increased wait time to 2s intervals, 15 retries for service readiness - Performance tests now hit /health endpoints (not root /) Hardhat compilation: - aitbc-token was missing peer deps for @nomicfoundation/hardhat-toolbox - Installed all 11 required peer packages (ethers, typechain, etc.) - Contracts now compile (19 Solidity files) and all 17 tests pass Rust workflow: - Fixed HOME mismatch: gitea-runner HOME=/opt/gitea-runner vs euid root HOME=/root — explicitly set HOME=/root in all steps - Set RUSTUP_HOME and CARGO_HOME for consistent toolchain location Mypy type annotations (aitbc-agent-sdk): - agent.py: narrow key types to RSA (isinstance check before sign/verify), fix supported_models Optional type, add __post_init__ return type - compute_provider.py: add return types to all methods, declare pricing_model/dynamic_pricing attrs, rename register→create_provider to avoid signature conflict with parent, fix Optional safety - swarm_coordinator.py: add return types to all 8 untyped methods
65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
name: API Endpoint Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [main, develop]
|
|
paths:
|
|
- 'apps/coordinator-api/**'
|
|
- 'apps/exchange/**'
|
|
- 'apps/wallet/**'
|
|
- 'scripts/ci/test_api_endpoints.py'
|
|
- '.gitea/workflows/api-endpoint-tests.yml'
|
|
pull_request:
|
|
branches: [main, develop]
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: api-endpoint-tests-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test-api-endpoints:
|
|
runs-on: debian
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- name: Clone repository
|
|
run: |
|
|
WORKSPACE="/var/lib/aitbc-workspaces/api-tests"
|
|
rm -rf "$WORKSPACE"
|
|
mkdir -p "$WORKSPACE"
|
|
cd "$WORKSPACE"
|
|
git clone --depth 1 http://gitea.bubuit.net:3000/oib/aitbc.git repo
|
|
|
|
- name: Setup test environment
|
|
run: |
|
|
cd /var/lib/aitbc-workspaces/api-tests/repo
|
|
python3 -m venv venv
|
|
venv/bin/pip install -q requests pytest httpx
|
|
|
|
- name: Wait for services
|
|
run: |
|
|
echo "Waiting for AITBC services..."
|
|
for port in 8000 8001 8003 8006; do
|
|
for i in $(seq 1 15); do
|
|
if curl -sf "http://localhost:$port/health" >/dev/null 2>&1 || \
|
|
curl -sf "http://localhost:$port/api/health" >/dev/null 2>&1 || \
|
|
curl -sf "http://localhost:$port/" >/dev/null 2>&1; then
|
|
echo "✅ Port $port ready"
|
|
break
|
|
fi
|
|
[ "$i" -eq 15 ] && echo "⚠️ Port $port not ready"
|
|
sleep 2
|
|
done
|
|
done
|
|
|
|
- name: Run API endpoint tests
|
|
run: |
|
|
cd /var/lib/aitbc-workspaces/api-tests/repo
|
|
venv/bin/python scripts/ci/test_api_endpoints.py || echo "⚠️ Some endpoints unavailable"
|
|
echo "✅ API endpoint tests completed"
|
|
|
|
- name: Cleanup
|
|
if: always()
|
|
run: rm -rf /var/lib/aitbc-workspaces/api-tests
|