openvidu/.github/actions/cleanup/action.yaml

97 lines
3.2 KiB
YAML

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