CI: install rsync and openssh-client before deploy
Some checks failed
Deploy to talkpro / build-and-sync (push) Failing after 11s
Some checks failed
Deploy to talkpro / build-and-sync (push) Failing after 11s
Gitea/act runners often lack rsync; apt/apk/dnf install step runs before ssh/rsync in deploy-talkpro.sh. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -45,6 +45,26 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Install rsync and SSH client
|
||||||
|
run: |
|
||||||
|
if command -v rsync >/dev/null && command -v ssh >/dev/null; then
|
||||||
|
echo "rsync and ssh already installed"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if command -v apt-get >/dev/null 2>&1; then
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y -qq rsync openssh-client
|
||||||
|
elif command -v apk >/dev/null 2>&1; then
|
||||||
|
sudo apk add --no-cache rsync openssh-client-default
|
||||||
|
elif command -v dnf >/dev/null 2>&1; then
|
||||||
|
sudo dnf install -y rsync openssh-clients
|
||||||
|
else
|
||||||
|
echo "ERROR: Could not install rsync — apt-get, apk, or dnf required" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
command -v rsync
|
||||||
|
command -v ssh
|
||||||
|
|
||||||
- name: Trust host key
|
- name: Trust host key
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ else
|
|||||||
fi
|
fi
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
|
command -v ssh >/dev/null || { echo "ERROR: ssh not found (install openssh-client)" >&2; exit 127; }
|
||||||
|
command -v rsync >/dev/null || { echo "ERROR: rsync not found (CI: apt-get install rsync)" >&2; exit 127; }
|
||||||
|
|
||||||
ssh "${SSH_OPTS[@]}" "${USER}@${HOST}" "mkdir -p ${REMOTE_ROOT}"
|
ssh "${SSH_OPTS[@]}" "${USER}@${HOST}" "mkdir -p ${REMOTE_ROOT}"
|
||||||
|
|
||||||
rsync -avz --delete \
|
rsync -avz --delete \
|
||||||
|
|||||||
Reference in New Issue
Block a user