backend: Enhance OpenVidu Meet cleanup action with improved status reporting and error handling

This commit is contained in:
Carlos Santos 2025-05-07 10:59:00 +02:00
parent 6ab702e571
commit 710b2c0659

View File

@ -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