name: Garfbot CI/CD Deployment on: push: branches: [ main ] jobs: Deploy: container: volumes: - /home/crate/garfbot:/workspace/crate/garfbot/deploy steps: - name: Pull Garfbot and restart container run: | cd /workspace/crate/garfbot/deploy git pull origin main CHANGED=$(git diff --name-only HEAD~1 HEAD) if echo "$CHANGED" | grep -qE "(Dockerfile|requirements\.txt|docker-compose\.yml)"; then docker stop garfbot docker rm garfbot docker build -t git.crate.zip/crate/garfbot:latest . docker run -d --restart always -v $PWD:/usr/src/app --name garfbot git.crate.zip/crate/garfbot:latest else docker restart garfbot fi