37 lines
929 B
YAML
37 lines
929 B
YAML
name: Garfbot CI/CD Deployment
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
Deploy:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: docker:latest
|
|
volumes:
|
|
- /garfbot:/workspace
|
|
steps:
|
|
- name: Pull Garfbot and restart container
|
|
run: |
|
|
ls -alh
|
|
ls -alh /
|
|
ls -alh /workspace
|
|
ls -alh /workspace/crate
|
|
ls -alh /workspace/crate/garfbot
|
|
cd /workspace
|
|
ls -alh
|
|
|
|
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
|