name: 'OpenVidu Meet Cleanup' description: 'Clean up OpenVidu Meet test environment' runs: using: 'composite' steps: - name: Show pre-cleanup status continue-on-error: true run: | echo "=== System status before cleanup ===" df -h free -h echo "=== Running processes ===" ps aux | grep -i 'npm\|node\|livekit' | grep -v grep || true echo "=== Docker containers ===" docker ps -a || true shell: bash - name: Kill backend process run: pkill -f "npm run start:prod" || true shell: bash - name: Stop OpenVidu Local Deployment containers continue-on-error: true run: | if [ -d "openvidu-local-deployment/community" ]; then cd openvidu-local-deployment/community docker compose down -v || echo "Warning: Failed to stop containers cleanly" else echo "Directory openvidu-local-deployment/community not found, skipping" fi shell: bash - name: Clean up temporary files continue-on-error: true run: | echo "Cleaning temporary files..." rm -rf /tmp/openvidu-* || echo "Warning: Failed to clean some OpenVidu temp files" rm -rf /tmp/livekit-* || echo "Warning: Failed to clean some LiveKit temp files" shell: bash - name: Check for running containers continue-on-error: true run: | CONTAINERS=$(docker ps -q) if [ -n "$CONTAINERS" ]; then echo "Warning: Found running containers. Stopping them before prune." docker stop $CONTAINERS || true fi shell: bash - name: Clean up Docker resources continue-on-error: true run: | echo "Pruning Docker system..." docker system prune -f --volumes || echo "Warning: Docker system prune failed" shell: bash - name: Kill orphaned processes continue-on-error: true run: | echo "Checking for orphaned processes..." ORPHANED=$(ps aux | grep -i 'npm\|node\|livekit' | grep -v grep | awk '{print $2}') if [ -n "$ORPHANED" ]; then echo "Killing processes: $ORPHANED" kill -9 $ORPHANED || echo "Warning: Some processes couldn't be killed" else echo "No orphaned processes found" fi shell: bash - name: Clean specific directories continue-on-error: true run: | echo "Cleaning specific directories..." # Don't try to remove the entire working directory # Instead, clean specific subdirectories that might cause permission issues if [ -d "openvidu-local-deployment" ]; then sudo rm -rf openvidu-local-deployment || echo "Warning: Failed to remove openvidu-local-deployment" fi # Clean build and cache directories find . -type d -name "node_modules" -exec rm -rf {} + find . -type d -name "dist" -exec rm -rf {} + find . -type d -name ".cache" -exec rm -rf {} + shell: bash - name: Show system status continue-on-error: true run: | echo "=== System status after cleanup ===" df -h free -h docker ps -a echo "=== Cleanup completed ===" shell: bash