12702fc15bea06a33983fb693a97480402e4f77a
8 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 12702fc15b |
ci: enhance test workflows with dependency fixes and service management improvements
Some checks failed
Documentation Validation / validate-docs (push) Has been cancelled
API Endpoint Tests / test-api-endpoints (push) Successful in 40s
CLI Tests / test-cli (push) Successful in 1m3s
Integration Tests / test-service-integration (push) Successful in 1m19s
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 1m1s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 24s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 26s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 15s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 27s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 1m1s
Python Tests / test-python (push) Successful in 1m28s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 47s
Security Scanning / security-scan (push) Successful in 1m23s
Smart Contract Tests / test-solidity (map[name:zk-circuits path:apps/zk-circuits]) (push) Successful in 51s
Systemd Sync / sync-systemd (push) Successful in 6s
Smart Contract Tests / lint-solidity (push) Successful in 1m4s
🔧 Workflow Enhancements: • Update CLI tests to use dedicated test runner with virtual environment • Add locust dependency to integration and python test workflows • Install Python packages in development mode for proper import testing • Add package import verification in python-tests workflow 🛠️ Package Testing Improvements: • Add Hardhat dependency installation for aitbc-token package • Add |
|||
|
|
11287056e9 |
ci: update all workflows to use standardized AITBC directory structure
Some checks failed
Documentation Validation / validate-docs (push) Waiting to run
API Endpoint Tests / test-api-endpoints (push) Successful in 44s
CLI Tests / test-cli (push) Successful in 1m18s
JavaScript SDK Tests / test-js-sdk (push) Successful in 27s
Integration Tests / test-service-integration (push) Successful in 59s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 29s
Systemd Sync / sync-systemd (push) Has been cancelled
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 1m5s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 44s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 36s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 22s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 1m3s
Python Tests / test-python (push) Successful in 1m34s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 42s
Security Scanning / security-scan (push) Successful in 1m31s
Smart Contract Tests / test-solidity (map[name:zk-circuits path:apps/zk-circuits]) (push) Successful in 50s
Smart Contract Tests / lint-solidity (push) Successful in 1m6s
Rust ZK Components Tests / test-rust-zk (push) Failing after 11m34s
- Ensure standard directories exist in all CI workflows: - /var/lib/aitbc/data - Blockchain database files - /var/lib/aitbc/keystore - Wallet credentials - /etc/aitbc/ - Configuration files - /var/log/aitbc/ - Service logs - Updated workflows: - python-tests.yml - integration-tests.yml - api-endpoint-tests.yml - security-scanning.yml - systemd-sync.yml - docs-validation.yml - package-tests.yml - smart-contract-tests.yml - js-sdk-tests.yml - rust-zk-tests.yml - cli-level1-tests.yml This aligns CI/CD with the multi-node blockchain deployment workflow and ensures consistent directory structure across all environments. |
||
|
|
1f932d42e3 |
fix: resolve CI failures from workflow rewrite
All checks were successful
API Endpoint Tests / test-api-endpoints (push) Successful in 29s
Integration Tests / test-service-integration (push) Successful in 44s
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 35s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 24s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 21s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 25s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 20s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 30s
Python Tests / test-python (push) Successful in 1m18s
Systemd Sync / sync-systemd (push) Successful in 2s
Security Scanning / security-scan (push) Successful in 1m14s
Fixes based on first CI run results: Workflow fixes: - python-tests.yml: Add pytest-timeout and click to pip install (--timeout=30 unrecognized, conftest.py needs click) - integration-tests.yml: Add click, pytest-timeout to pip install Fix systemctl status capture (multiline output in subshell) - systemd-sync.yml: Fix printf output — $(cmd || echo) captures multiline; use $(cmd) || var=fallback instead - test_api_endpoints.py: Count 404/405 as reachable in perf test (APIs return 404 on root but are running) Missing module fixes: - aitbc-agent-sdk: Create compute_consumer.py and platform_builder.py (__init__.py imported them but files didn't exist) - aitbc-core: Create logging.py module with StructuredLogFormatter, setup_logger, get_audit_logger (tests existed but module was missing) Fix __init__.py duplicate imports |
||
|
|
2d2b261384 |
refactor: full rewrite of all CI workflows for Gitea runner
All checks were successful
API Endpoint Tests / test-api-endpoints (push) Successful in 29s
CLI Tests / test-cli (push) Successful in 1m20s
Documentation Validation / validate-docs (push) Successful in 12s
JavaScript SDK Tests / test-js-sdk (push) Successful in 21s
Integration Tests / test-service-integration (push) Successful in 44s
Package Tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk]) (push) Successful in 38s
Package Tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core]) (push) Successful in 19s
Package Tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto]) (push) Successful in 21s
Package Tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk]) (push) Successful in 24s
Package Tests / test-javascript-packages (map[name:aitbc-sdk-js path:packages/js/aitbc-sdk]) (push) Successful in 8s
Package Tests / test-javascript-packages (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 29s
Python Tests / test-python (push) Successful in 1m20s
Rust ZK Components Tests / test-rust-zk (push) Successful in 55s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 14s
Security Scanning / security-scan (push) Successful in 1m5s
Smart Contract Tests / test-solidity (map[name:zk-circuits path:apps/zk-circuits]) (push) Successful in 52s
Systemd Sync / sync-systemd (push) Successful in 4s
Smart Contract Tests / lint-solidity (push) Successful in 59s
TOTAL: 3524 → 924 lines (74% reduction) Per-file changes: - api-endpoint-tests.yml: 548 → 63 lines (-88%) - package-tests.yml: 1014 → 149 lines (-85%) - integration-tests.yml: 561 → 100 lines (-82%) - python-tests.yml: 290 → 77 lines (-73%) - smart-contract-tests.yml: 290 → 105 lines (-64%) - systemd-sync.yml: 192 → 86 lines (-55%) - cli-level1-tests.yml: 180 → 66 lines (-63%) - security-scanning.yml: 137 → 72 lines (-47%) - rust-zk-tests.yml: 112 → 69 lines (-38%) - docs-validation.yml: 104 → 72 lines (-31%) - js-sdk-tests.yml: 97 → 65 lines (-33%) Fixes applied: 1. Concurrency groups: all 7 workflows shared 'ci-workflows' group (they cancelled each other). Now each has unique group. 2. Removed all actions/checkout@v4 usage (not available on Gitea runner) → replaced with git clone http://gitea.bubuit.net:3000/oib/aitbc.git 3. Removed all sudo usage (Debian root environment) 4. Fixed wrong ports: wallet 8002→8003, RPC 8545→8006 5. External workspaces: /opt/aitbc/*-workspace → /var/lib/aitbc-workspaces/ 6. Extracted 274 echo'd Python lines → scripts/ci/test_api_endpoints.py 7. Removed dead CLI test code (tests were skipped entirely) 8. Moved aitbc.code-workspace out of workflows directory 9. Added --depth 1 to all git clones for speed 10. Added cleanup steps to all workflows New files: - scripts/ci/clone-repo.sh: reusable clone helper - scripts/ci/test_api_endpoints.py: extracted API test script |
||
|
|
799e387437 |
fix: correct network URLs in all CI workflows - ROOT CAUSE FIX
All checks were successful
AITBC CLI Level 1 Commands Test / test-cli-level1 (push) Successful in 16s
api-endpoint-tests / test-api-endpoints (push) Successful in 33s
package-tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk python_version:3.13]) (push) Successful in 5s
package-tests / test-python-packages (map[name:aitbc-cli path:. python_version:3.13]) (push) Successful in 7s
package-tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core python_version:3.13]) (push) Successful in 6s
package-tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto python_version:3.13]) (push) Successful in 6s
package-tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk python_version:3.13]) (push) Successful in 6s
package-tests / test-javascript-packages (map[name:aitbc-sdk node_version:24 path:packages/js/aitbc-sdk]) (push) Successful in 7s
python-tests / test (push) Successful in 18s
integration-tests / test-service-integration (push) Successful in 1m23s
python-tests / test-specific (push) Has been skipped
security-scanning / audit (push) Successful in 18s
systemd-sync / sync-systemd (push) Successful in 5s
package-tests / cross-language-compatibility (push) Successful in 4s
package-tests / package-integration-tests (push) Successful in 10s
smart-contract-tests / test-solidity-contracts (map[config:hardhat.config.ts name:aitbc-token path:packages/solidity/aitbc-token tool:hardhat]) (push) Successful in 1m24s
smart-contract-tests / lint-solidity (push) Successful in 4s
🔥 REAL ROOT CAUSE: Network + URL mismatch (not CI logic) ❌ Before: https://gitea.bubuit.net (port 443, HTTPS) ✅ After: http://gitea.bubuit.net:3000 (port 3000, HTTP) Fixed Files: - .gitea/workflows/systemd-sync.yml - .gitea/workflows/security-scanning.yml - .gitea/workflows/python-tests.yml - .gitea/workflows/smart-contract-tests.yml - .gitea/workflows/integration-tests.yml - .gitea/workflows/cli-level1-tests.yml - .gitea/workflows/api-endpoint-tests.yml - .gitea/workflows/package-tests.yml Root Cause Analysis: - Service runs on: http://10.0.3.107:3000 - DNS resolves: gitea.bubuit.net → 10.0.3.107 - BUT wrong protocol: https (443) instead of http (3000) - Connection failed: "Failed to connect to gitea.bubuit.net port 443" Verification: ✅ curl -I http://gitea.bubuit.net:3000 → HTTP/1.1 200 OK ✅ git ls-remote http://gitea.bubuit.net:3000/oib/aitbc.git → refs returned This fixes ALL CI workflow cloning failures. No infrastructure changes needed - just correct URLs. |
||
| f139f7fe36 |
fix: correct systemd repository path and add debugging
SYSTEMD SYNC FIX: Resolve wrong repository path in systemd linking Issues Fixed: ❌ Repository path pointing to api-tests-workspace instead of systemd-sync-workspace ❌ Systemd files being synced from wrong location ❌ Missing debugging information for path resolution ❌ Script path confusion between different workspaces Root Cause: - Systemd sync workflow using wrong repository path - Linking script getting incorrect directory path - Sed commands not covering all path variations - Missing debugging to identify path issues Solution Applied: ✅ Enhanced path correction with comprehensive sed commands ✅ Added debugging information for directory verification ✅ Fixed all potential path variations ✅ Better error reporting and directory validation Path Corrections: - Fixed /opt/aitbc/api-tests-workspace/repo/systemd → /opt/aitbc/systemd-sync-workspace/repo/systemd - Added comprehensive sed command to catch all path variations - Added debugging to show current directory and systemd directory existence - Enhanced error reporting for troubleshooting Debugging Improvements: - Current directory display - Systemd directory existence verification - Script update confirmation - Step-by-step progress reporting Impact: - Systemd files now sync from correct repository location - Better debugging information for troubleshooting - Comprehensive path correction prevents future issues - Reliable systemd synchronization This resolves the repository path issue that was causing systemd files to sync from the wrong workspace location. |
|||
| 7b9f226e5c |
fix: resolve systemd path issues in CI/CD workflows
SYSTEMD PATH FIX: Correct repository path for systemd sync in CI environments Issue Fixed: ❌ Repository systemd directory not found: /opt/aitbc/systemd ❌ CI workflows looking for wrong repository path ❌ Systemd sync failing in CI environments Root Cause: - CI workflows clone repository to workspace directories - Systemd sync script hardcoded to /opt/aitbc/systemd - Repository actually in /opt/aitbc/*-workspace/repo/systemd - Path mismatch causing sync failures Solution Applied: ✅ Dynamic path updates in all workflows ✅ sed commands to update REPO_SYSTEMD_DIR at runtime ✅ Correct paths for each workflow workspace ✅ Fallback manual sync with correct paths Fixed Workflows: 1. systemd-sync.yml: - Updated to use /opt/aitbc/systemd-sync-workspace/repo/systemd - Dynamic path update before running script 2. integration-tests.yml: - Updated to use /opt/aitbc/integration-tests-workspace/repo/systemd - Dynamic path update before running script 3. api-endpoint-tests.yml: - Updated to use /opt/aitbc/api-tests-workspace/repo/systemd - Dynamic path update before running script Changes Made: - Added sed commands to update REPO_SYSTEMD_DIR - Each workflow uses its own workspace path - Maintains original script functionality - Preserves fallback manual sync Impact: - Systemd sync now works in CI environments - Service-dependent workflows can start services - Integration and API tests can run properly - No more path-related failures This resolves the critical path issue that was preventing systemd sync and service-dependent workflows from working in the CI/CD environment. |
|||
| 35fc07977f |
feat: add systemd sync solution to eliminate repo/active gap
SYSTEMD SYNC: Link active systemd files to repository for automatic sync Problem Solved: ❌ Gap between repository systemd files and active systemd files ❌ Development changes in repo not reflected in running services ❌ Manual sync required to update systemd configuration ❌ Risk of configuration drift between repo and production Solution Implemented: ✅ Symbolic links from /etc/systemd/system/ to /opt/aitbc/systemd ✅ Automatic sync script for manual operations ✅ CI/CD workflow for automatic sync on repository changes ✅ Backup mechanism for safe operations ✅ Verification and status checking Files Created: 1. scripts/link-systemd.sh: - Creates symbolic links for all aitbc-* services - Handles .d directories automatically - Creates backups before making changes - Provides comprehensive status reporting 2. scripts/sync-systemd.sh: - Alternative copy-based sync method - For environments where symbolic links aren't preferred - Maintains file independence while keeping sync 3. .gitea/workflows/systemd-sync.yml: - Automatic CI/CD sync on repository changes - Triggers when systemd files are modified - Verifies link creation and service status - Provides manual instructions Benefits: ✅ Active systemd files always match repository ✅ No configuration drift between repo and production ✅ Changes in repo immediately reflected ✅ Automatic sync on every repository update ✅ Safe operations with backups ✅ CI/CD integration for automation Usage: - Manual: sudo ./scripts/link-systemd.sh - CI/CD: Automatic on systemd file changes - Verification: ls -la /etc/systemd/system/aitbc-* - Status: sudo systemctl status aitbc-* This eliminates the gap between repository and active systemd configuration, ensuring the repository always contains the current running state and changes are immediately reflected. |