name: Deploy Mocks to Server on: push: branches: [ main ] paths: - 'mocks/**' jobs: upload-mocks: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Detect changes in mocks/ id: changes run: | echo "Fetching history..." git fetch --unshallow || true git log --oneline -n 5 || true echo "Checking for changes in mocks/..." CHANGED=$(git diff --name-status HEAD~1 HEAD || true) echo "Full diff output:" echo "$CHANGED" MOCK_CHANGED=$(echo "$CHANGED" | grep -E '^[AMD]\s+mocks/' || true) echo "Detected changes in mocks/:" echo "$MOCK_CHANGED" { echo "changed_files<> "$GITHUB_OUTPUT" - name: Show changed_files output run: echo "changed_files = '${{ steps.changes.outputs.changed_files }}'" - name: Install rsync run: | sudo apt-get update sudo apt-get install -y rsync - name: Upload mocks via SSH env: SSH_HOST: ${{ secrets.SSH_HOST }} SSH_KEY: ${{ secrets.MOCKER_AT_APIMPOSTER }} run: | echo "$SSH_KEY" > gitea_key.pem chmod 600 gitea_key.pem rsync -avz --delete --no-perms --no-times \ -e "ssh -i gitea_key.pem -o StrictHostKeyChecking=no" \ mocks/ $SSH_HOST:/data0/mocks/