name: Garfbot CI/CD Deployment on: push: branches: [ main ] jobs: Deploy: container: volumes: - /home/crate/garfbot:/workspace/crate/garfbot/deploy steps: - name: Navigate to deployment directory run: | cd /home/crate/garfbot - name: Pull latest changes run: | cd /home/crate/garfbot git pull origin main - name: Check for critical changes and deploy run: | cd /home/crate/garfbot CHANGED=$(git diff --name-only HEAD~1 HEAD) if echo "$CHANGED" | grep -qE "(Dockerfile|requirements\.txt|docker-compose\.yml|\.gitlab/deploy\.yaml)"; then docker compose down -rmi docker build -t git.crate.zip/crate/garfbot:latest . docker compose -p garfbot up -d else docker restart garfbot fi