name: Build and Deploy Backend on: push: branches: - main paths: - "backend/**" - "pyproject.toml" - "uv.lock" - ".forgejo/workflows/deploy_backend.yml" jobs: build_and_deploy: runs-on: roadrunner steps: - name: Umgebung prüfen run: | python3 --version node --version git --version - name: Repository auschecken uses: actions/checkout@v4 # - name: Backend testen # working-directory: backend # run: | # python3 -m pip install --upgrade pip # python3 -m pip install -e . # python3 -m pytest - name: Backend kopieren run: | rsync -a --delete \ --exclude '.venv' \ --exclude '__pycache__' \ --exclude '*.db' \ backend/ /opt/blauwasser-api/backend/ cp pyproject.toml /opt/blauwasser-api/ cp uv.lock /opt/blauwasser-api/ - name: Abhängigkeiten aktualisieren run: | cd /opt/blauwasser-api uv sync --frozen - name: Backend neu starten run: | systemctl restart blauwasser-api systemctl is-active --quiet blauwasser-api - name: Deployment prüfen run: | curl --fail https://api.blauwasser-mausis.de/health