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.
SERVICE-DEPENDENT WORKFLOWS: Integration and API endpoint testing with running services
New Workflows:
1. integration-tests.yml:
- Full service integration testing
- Cross-service communication tests
- End-to-end workflow testing
- Service log collection
- Service lifecycle management
2. api-endpoint-tests.yml:
- Specific API endpoint testing
- Performance testing
- RPC endpoint testing
- Multi-service API validation
Features:
✅ Service-dependent testing (requires running systemd services)
✅ Automatic service startup and management
✅ Service readiness waiting
✅ Cross-service communication validation
✅ API endpoint health checks
✅ Performance measurement
✅ Service log collection
✅ Comprehensive test reporting
Service Management:
- Start required services (blockchain-node, coordinator-api, marketplace, wallet)
- Wait for services to be ready
- Test service communication
- Collect service logs
- Cleanup services (optional)
Integration Tests:
- Blockchain RPC connectivity
- Coordinator API endpoints
- Marketplace service endpoints
- Wallet service endpoints
- Cross-service communication
- End-to-end workflows
API Tests:
- Coordinator API health and endpoints
- Exchange API testing
- Wallet API testing
- Blockchain RPC method testing
- API performance measurement
Dependencies:
- Requires systemd sync solution
- Uses running systemd services
- Serial execution (no conflicts)
- Root privileges for service management
Triggers:
- Push to main/develop (apps/**, packages/**)
- Pull requests to main/develop
- Manual workflow dispatch
These workflows provide comprehensive testing of the AITBC platform
with actual running services, enabling real integration testing
and API validation that depends on the full system being operational.