name: Build and Deploy on: push: branches: [main] env: REGISTRY: gitea.pitthappens.dyndns.org IMAGE_NAME: ragincajunbanjo/openclaw-proxy jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login to Gitea Container Registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ gitea.actor }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Build and push image uses: docker/build-push-action@v5 with: context: . push: true tags: | ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} - name: Deploy to local Docker run: | docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest cd ${{ gitea.workspace }} docker compose -f docker-compose.yml down --remove-orphans || true docker compose -f docker-compose.yml up -d openclaw echo "Waiting for health check..." for i in $(seq 1 60); do if curl -sf http://127.0.0.1:3456/health > /dev/null 2>&1; then echo "Deployment successful!" exit 0 fi sleep 2 done echo "WARNING: Health check didn't pass within 120s" docker compose logs openclaw