diff --git a/.gitea/workflows/api-endpoint-tests.yml b/.gitea/workflows/api-endpoint-tests.yml index ddfe2e8b..d98e29df 100644 --- a/.gitea/workflows/api-endpoint-tests.yml +++ b/.gitea/workflows/api-endpoint-tests.yml @@ -39,10 +39,31 @@ jobs: --venv-dir "$PWD/venv" \ --skip-requirements \ --extra-packages "requests pytest httpx" - + # Ensure standard directories exist mkdir -p /var/lib/aitbc/data /var/lib/aitbc/keystore /etc/aitbc /var/log/aitbc + - name: Start required services + run: | + echo "Starting AITBC services for endpoint testing..." + + # Start coordinator-api + systemctl start aitbc-coordinator-api.service || echo "⚠️ coordinator-api already running or failed to start" + + # Start exchange-api + systemctl start aitbc-exchange-api.service || echo "⚠️ exchange-api already running or failed to start" + + # Start wallet daemon + systemctl start aitbc-wallet.service || echo "⚠️ wallet already running or failed to start" + + # Start blockchain RPC + systemctl start aitbc-blockchain-rpc.service || echo "⚠️ blockchain-rpc already running or failed to start" + + # Give services time to initialize + sleep 5 + + echo "✅ Services started" + - name: Wait for services id: wait-services continue-on-error: true @@ -124,4 +145,12 @@ jobs: - name: Cleanup if: always() - run: rm -rf /var/lib/aitbc-workspaces/api-tests + run: | + # Stop the services we started + systemctl stop aitbc-coordinator-api.service || true + systemctl stop aitbc-exchange-api.service || true + systemctl stop aitbc-wallet.service || true + systemctl stop aitbc-blockchain-rpc.service || true + + # Clean up workspace + rm -rf /var/lib/aitbc-workspaces/api-tests diff --git a/.gitea/workflows/package-tests.yml b/.gitea/workflows/package-tests.yml index e86a372b..48076295 100644 --- a/.gitea/workflows/package-tests.yml +++ b/.gitea/workflows/package-tests.yml @@ -58,18 +58,17 @@ jobs: --venv-dir "$PWD/venv" \ --mode copy \ --extra-packages "pytest mypy black" - source venv/bin/activate if [[ "${{ matrix.package.name }}" == "aitbc-sdk" ]]; then - pip install -q -e "$WORKSPACE/repo/packages/py/aitbc-crypto" + venv/bin/pip install -q -e "$WORKSPACE/repo/packages/py/aitbc-crypto" fi # Install dependencies if [[ -f "pyproject.toml" ]]; then - pip install -q -e ".[dev]" 2>/dev/null || pip install -q -e . + venv/bin/pip install -q -e ".[dev]" 2>/dev/null || venv/bin/pip install -q -e . fi if [[ -f "requirements.txt" ]]; then - pip install -q -r requirements.txt + venv/bin/pip install -q -r requirements.txt fi # Linting @@ -100,8 +99,7 @@ jobs: --venv-dir "$PWD/venv-build" \ --skip-requirements \ --extra-packages "build" - source venv-build/bin/activate - python -m build + venv-build/bin/python -m build echo "✅ Package built" fi diff --git a/.gitea/workflows/production-tests.yml b/.gitea/workflows/production-tests.yml index a187fe57..4d85c32f 100644 --- a/.gitea/workflows/production-tests.yml +++ b/.gitea/workflows/production-tests.yml @@ -37,7 +37,10 @@ jobs: --repo-dir "$PWD" \ --venv-dir "$PWD/venv" \ --skip-requirements \ - --extra-packages "pytest pytest-asyncio pytest-timeout requests pyjwt fastapi uvicorn[standard] redis bcrypt websockets numpy psutil prometheus-client" + --extra-packages "pytest pytest-asyncio pytest-timeout requests pyjwt fastapi uvicorn[standard] redis bcrypt websockets numpy psutil prometheus-client celery aiohttp pydantic" + + # Install agent-coordinator package with its dependencies + venv/bin/pip install -q -e apps/agent-coordinator # Ensure standard directories exist mkdir -p /var/lib/aitbc/data /var/lib/aitbc/keystore /etc/aitbc /var/log/aitbc @@ -62,16 +65,15 @@ jobs: - name: Start agent coordinator run: | cd /var/lib/aitbc-workspaces/production-tests/repo - source venv/bin/activate export PYTHONPATH="apps/agent-coordinator/src:$PYTHONPATH" - + # Start agent coordinator in background - nohup uvicorn app.main:app \ + nohup venv/bin/uvicorn app.main:app \ --host 0.0.0.0 \ --port 9001 \ --log-level info \ > /tmp/agent-coordinator.log 2>&1 & - + echo $! > /tmp/agent-coordinator.pid echo "✅ Agent coordinator started (PID: $(cat /tmp/agent-coordinator.pid))" @@ -93,16 +95,15 @@ jobs: - name: Run production tests run: | cd /var/lib/aitbc-workspaces/production-tests/repo - source venv/bin/activate export PYTHONPATH="apps/agent-coordinator/src:$PYTHONPATH" - - pytest tests/production/ \ + + venv/bin/pytest tests/production/ \ -v \ --tb=short \ --timeout=30 \ --import-mode=importlib \ -k "not test_error_handling" - + echo "✅ Production tests completed" - name: Agent coordinator logs diff --git a/requirements.txt b/requirements.txt index 8ae824c3..69e330ec 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,7 @@ # - Added bech32>=1.2.0 for blockchain address encoding (2026-03-30) # - Fixed duplicate web3 entries and tenseal version # - All dependencies tested and working with current services +# - Cache invalidation for CLI rich dependency (2026-04-19) # Core Web Framework fastapi>=0.115.6