name: Deploy PHP App on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Deploy to server env: SSH_HOST: ${{ secrets.SSH_HOST }} SSH_PORT: ${{ secrets.SSH_PORT }} SSH_USER: ${{ secrets.SSH_USER }} SSH_KEY: ${{ secrets.SSH_KEY }} APP_DIR: ${{ secrets.APP_DIR }} REPO_URL: https://gitea.myaccess.cloud/${{ gitea.repository }}.git BRANCH: main run: | mkdir -p ~/.ssh echo "$SSH_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -p "$SSH_PORT" "$SSH_HOST" >> ~/.ssh/known_hosts ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" " set -e echo 'APP_DIR: $APP_DIR' echo 'REPO_URL: $REPO_URL' if [ -d \"$APP_DIR/.git\" ]; then echo 'Repo exists, updating remote and pulling latest code' cd \"$APP_DIR\" git remote set-url origin \"$REPO_URL\" git fetch origin git checkout \"$BRANCH\" || git checkout -b \"$BRANCH\" git reset --hard origin/$BRANCH else echo 'Repo does not exist, cloning fresh' rm -rf \"$APP_DIR\" git clone -b \"$BRANCH\" \"$REPO_URL\" \"$APP_DIR\" cd \"$APP_DIR\" fi echo 'Current directory:' pwd echo 'Files in repo root:' ls -la if [ ! -f docker-compose.yml ]; then echo 'ERROR: docker-compose.yml not found in $APP_DIR' exit 1 fi docker compose -f docker-compose.yml down --remove-orphans || true docker compose -f docker-compose.yml up -d --build "