name: Deploy OpenHands Agent Canvas on: push: branches: - master - main workflow_dispatch: jobs: deploy: name: Deploy to Komodo runs-on: hp env: KOMODO_HOST: ${{ secrets.KOMODO_HOST || 'http://localhost:9120' }} KOMODO_API_KEY: ${{ secrets.KOMODO_API_KEY }} KOMODO_API_SECRET: ${{ secrets.KOMODO_API_SECRET }} steps: - name: Install System Prerequisites run: | if command -v apk >/dev/null 2>&1; then apk update apk add --no-cache python3 curl bash fi python3 --version - name: Checkout Code uses: actions/checkout@v4 - name: Deploy Stack via Komodo run: | echo "=== Deploying OpenHands Agent Canvas ===" python3 scripts/deploy.py - name: Verify Health run: | echo "=== Checking health endpoint on port 18000 ===" sleep 10 for i in 1 2 3 4 5 6; do if curl -fsSL -o /dev/null "http://127.0.0.1:18000/" 2>/dev/null || curl -fsSL -o /dev/null "http://127.0.0.1:18000/canvas" 2>/dev/null; then echo "OpenHands Agent Canvas is reachable on http://127.0.0.1:18000/ !" exit 0 fi echo "Waiting for container startup (attempt $i/6)..." sleep 5 done echo "Container is deploying in background. Check status in Komodo Web UI."