This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new c019cde926f Fix nightly uploads: normalize rsync SSH key (escaped 
newlines/base64) (#37538)
c019cde926f is described below

commit c019cde926f0e6e97d992fd778f73594ab98e624
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Dec 26 16:18:28 2025 +0800

    Fix nightly uploads: normalize rsync SSH key (escaped newlines/base64) 
(#37538)
---
 .github/workflows/nightly-build.yml | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/nightly-build.yml 
b/.github/workflows/nightly-build.yml
index e67bf6798ad..beac0944692 100644
--- a/.github/workflows/nightly-build.yml
+++ b/.github/workflows/nightly-build.yml
@@ -76,9 +76,20 @@ jobs:
               exit 1
             fi
           done
+          RAW_KEY="${NIGHTLIES_RSYNC_KEY}"
+          if printf '%s' "${RAW_KEY}" | grep -q '\\n'; then
+            RAW_KEY=$(printf '%s' "${RAW_KEY}" | sed 's/\\n/\n/g')
+          fi
+          KEY_CONTENT="${RAW_KEY}"
+          if ! printf '%s' "${KEY_CONTENT}" | grep -q '-----BEGIN '; then
+            DECODED_KEY=$(printf '%s' "${KEY_CONTENT}" | base64 -d 2>/dev/null 
|| true)
+            if [ -n "${DECODED_KEY}" ]; then
+              KEY_CONTENT="${DECODED_KEY}"
+            fi
+          fi
           KEY_FILE=$(mktemp)
           trap 'rm -f ${KEY_FILE}' EXIT
-          printf '%s' "${NIGHTLIES_RSYNC_KEY}" > "${KEY_FILE}"
+          printf '%s' "${KEY_CONTENT}" > "${KEY_FILE}"
           chmod 600 "${KEY_FILE}"
           SSH_OPTS="-i ${KEY_FILE} -o StrictHostKeyChecking=no"
           if [ -n "${NIGHTLIES_RSYNC_PORT}" ]; then
@@ -300,9 +311,20 @@ jobs:
               exit 1
             fi
           done
+          RAW_KEY="${NIGHTLIES_RSYNC_KEY}"
+          if printf '%s' "${RAW_KEY}" | grep -q '\\n'; then
+            RAW_KEY=$(printf '%s' "${RAW_KEY}" | sed 's/\\n/\n/g')
+          fi
+          KEY_CONTENT="${RAW_KEY}"
+          if ! printf '%s' "${KEY_CONTENT}" | grep -q '-----BEGIN '; then
+            DECODED_KEY=$(printf '%s' "${KEY_CONTENT}" | base64 -d 2>/dev/null 
|| true)
+            if [ -n "${DECODED_KEY}" ]; then
+              KEY_CONTENT="${DECODED_KEY}"
+            fi
+          fi
           KEY_FILE=$(mktemp)
           trap 'rm -f ${KEY_FILE}' EXIT
-          printf '%s' "${NIGHTLIES_RSYNC_KEY}" > "${KEY_FILE}"
+          printf '%s' "${KEY_CONTENT}" > "${KEY_FILE}"
           chmod 600 "${KEY_FILE}"
           SSH_OPTS="-i ${KEY_FILE} -o StrictHostKeyChecking=no"
           if [ -n "${NIGHTLIES_RSYNC_PORT}" ]; then

Reply via email to