test: e2e tests #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Debug Docker Setup | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| jobs: | |
| debug-docker: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check system info | |
| run: | | |
| echo "=== System Information ===" | |
| uname -a | |
| sw_vers | |
| echo "=== Available commands ===" | |
| which brew | |
| which python3 | |
| which docker || echo "Docker not found" | |
| - name: Install Docker Desktop | |
| run: | | |
| echo "=== Installing Docker Desktop ===" | |
| brew install --cask docker | |
| echo "Docker Desktop installed" | |
| - name: Start Docker Desktop | |
| run: | | |
| echo "=== Starting Docker Desktop ===" | |
| # Wait a moment for installation to complete | |
| sleep 5 | |
| # Check if Docker.app exists | |
| ls -la /Applications/ | grep -i docker || echo "Docker.app not found in Applications" | |
| # Try multiple methods to start Docker Desktop | |
| echo "Method 1: open -a Docker" | |
| open -a "Docker" || echo "Method 1 failed" | |
| sleep 2 | |
| echo "Method 2: open /Applications/Docker.app" | |
| open "/Applications/Docker.app" || echo "Method 2 failed" | |
| sleep 2 | |
| echo "Method 3: LaunchServices" | |
| /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Docker.app | |
| open -a "Docker" || echo "Method 3 failed" | |
| echo "Docker Desktop launch attempted" | |
| - name: Set up Docker (Fallback) | |
| uses: docker/setup-docker-action@v4 | |
| with: | |
| install: false # Don't install, we already have it | |
| daemon-config: | | |
| { | |
| "experimental": false, | |
| "debug": true, | |
| "log-driver": "json-file", | |
| "log-opts": { | |
| "max-size": "10m", | |
| "max-file": "3" | |
| } | |
| } | |
| - name: Wait for Docker to start | |
| run: | | |
| echo "=== Waiting for Docker to start ===" | |
| timeout 180 bash -c 'until docker info >/dev/null 2>&1; do echo "Waiting for Docker... ($(date))"; sleep 10; done' | |
| echo "Docker is ready!" | |
| - name: Test Docker functionality | |
| run: | | |
| echo "=== Testing Docker ===" | |
| docker --version | |
| docker info | |
| docker ps | |
| echo "=== Testing Docker Compose ===" | |
| docker-compose --version || echo "docker-compose not found" | |
| - name: Install Docker Compose | |
| run: | | |
| echo "=== Installing Docker Compose ===" | |
| python3 -m pip install docker-compose | |
| docker-compose --version | |
| - name: Test simple Docker command | |
| run: | | |
| echo "=== Testing simple Docker command ===" | |
| docker run --rm hello-world | |
| echo "Docker test successful!" | |
| - name: Test Docker Compose | |
| run: | | |
| echo "=== Testing Docker Compose ===" | |
| mkdir -p test-compose | |
| cat > test-compose/docker-compose.yml << 'EOF' | |
| version: '3.8' | |
| services: | |
| test: | |
| image: hello-world | |
| command: echo "Docker Compose test successful!" | |
| EOF | |
| cd test-compose | |
| docker-compose up | |
| echo "Docker Compose test successful!" |