chore(release): enhance upload script with SFTP mkdir pre-checks and SCP improvements
This commit is contained in:
@@ -124,11 +124,17 @@ jobs:
|
|||||||
PASS: ${{ secrets.HETZNER_PASS }}
|
PASS: ${{ secrets.HETZNER_PASS }}
|
||||||
run: |
|
run: |
|
||||||
mkdir -p fdroid
|
mkdir -p fdroid
|
||||||
cd fdroid
|
|
||||||
|
# Ensure remote path exists (sftp mkdir, ignoring errors if already present).
|
||||||
# Try to download the existing repo/ folder from Hetzner to keep older versions and the keystore
|
sshpass -p "$PASS" sftp -o StrictHostKeyChecking=no "$USER@$HOST" <<'SFTP'
|
||||||
# If it fails (first time), we just initialize a new one
|
-mkdir dev
|
||||||
sshpass -p "$PASS" scp -o StrictHostKeyChecking=no -r $USER@$HOST:dev/fdroid/repo . || fdroid init
|
-mkdir dev/fdroid
|
||||||
|
-mkdir dev/fdroid/repo
|
||||||
|
SFTP
|
||||||
|
|
||||||
|
# Try to download the existing repo/ folder from Hetzner to keep older versions and the keystore.
|
||||||
|
# If it fails (first time), initialize a new local repo.
|
||||||
|
sshpass -p "$PASS" scp -o StrictHostKeyChecking=no -r "$USER@$HOST:dev/fdroid/repo" fdroid/ || (cd fdroid && fdroid init)
|
||||||
|
|
||||||
- name: Copy new APK to repo
|
- name: Copy new APK to repo
|
||||||
run: |
|
run: |
|
||||||
@@ -157,12 +163,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
REMOTE_REPO_DIR="dev/fdroid/repo"
|
REMOTE_REPO_DIR="dev/fdroid/repo"
|
||||||
SCP_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=20"
|
SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=20"
|
||||||
|
|
||||||
# Use SCP/SFTP path only (some hosts deny SSH exec channels required by rsync/ssh).
|
# Create remote directory tree via SFTP batch (no exec channel needed).
|
||||||
if sshpass -p "$PASS" scp $SCP_OPTS -r fdroid/repo/. "$USER@$HOST:$REMOTE_REPO_DIR/"; then
|
# Leading '-' on each mkdir means "ignore error if already exists".
|
||||||
exit 0
|
sshpass -p "$PASS" sftp $SSH_OPTS "$USER@$HOST" <<'SFTP'
|
||||||
fi
|
-mkdir dev
|
||||||
|
-mkdir dev/fdroid
|
||||||
|
-mkdir dev/fdroid/repo
|
||||||
|
SFTP
|
||||||
|
|
||||||
# Fallback for older SSH servers that require legacy SCP protocol.
|
# Upload all files from fdroid/repo into the remote directory.
|
||||||
sshpass -p "$PASS" scp -O $SCP_OPTS -r fdroid/repo/. "$USER@$HOST:$REMOTE_REPO_DIR/"
|
sshpass -p "$PASS" scp $SSH_OPTS -r fdroid/repo/. "$USER@$HOST:$REMOTE_REPO_DIR/"
|
||||||
|
|||||||
Reference in New Issue
Block a user