diff --git a/.github/actions/cleanup/action.yaml b/.github/actions/cleanup/action.yaml index cdcb93a..98866d1 100644 --- a/.github/actions/cleanup/action.yaml +++ b/.github/actions/cleanup/action.yaml @@ -3,42 +3,86 @@ description: 'Clean up OpenVidu Meet test environment' runs: using: "composite" steps: + - name: Show pre-cleanup status + 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 run: | - cd openvidu-local-deployment/community - docker compose down -v + 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 run: | - rm -rf /tmp/openvidu-* - rm -rf /tmp/livekit-* + 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 + 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 - run: docker system prune -f + run: | + echo "Pruning Docker system..." + docker system prune -f --volumes || echo "Warning: Docker system prune failed" shell: bash - name: Kill orphaned processes run: | - ps aux | grep -i 'npm\|node\|livekit' | grep -v grep || true - ps aux | grep -i 'npm\|node\|livekit' | grep -v grep | awk '{print $2}' | xargs kill -9 || true - shell: bash - - - name: Remove OpenVidu Meet directory - run: | - if [ -d "/__w/openvidu-meet/openvidu-meet" ]; then - sudo rm -rf /__w/openvidu-meet/openvidu-meet + 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 + 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 run: | echo "=== System status after cleanup ===" df -h free -h docker ps -a + echo "=== Cleanup completed ===" shell: bash \ No newline at end of file