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

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


The following commit(s) were added to refs/heads/master by this push:
     new b94a4bb7884 [fix][ci] Fix .github/actions/ssh-access which is used for 
debugging Pulsar CI in forks (#25075)
b94a4bb7884 is described below

commit b94a4bb78841e14a9e067b3a1d88a88f0d0d9dd4
Author: Lari Hotari <[email protected]>
AuthorDate: Tue Dec 16 08:49:29 2025 +0200

    [fix][ci] Fix .github/actions/ssh-access which is used for debugging Pulsar 
CI in forks (#25075)
---
 .github/actions/ssh-access/action.yml | 36 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 20 deletions(-)

diff --git a/.github/actions/ssh-access/action.yml 
b/.github/actions/ssh-access/action.yml
index b4ad4a8555e..2c8f0a01648 100644
--- a/.github/actions/ssh-access/action.yml
+++ b/.github/actions/ssh-access/action.yml
@@ -52,14 +52,14 @@ runs:
             echo "::group::Installing upterm & tmux"
             if [[ "$OSTYPE" == "linux-gnu"* ]]; then
                 # install upterm
-                curl -sL 
https://github.com/owenthereal/upterm/releases/download/v0.7.6/upterm_linux_amd64.tar.gz
 | tar zxvf - -C /tmp upterm && sudo install /tmp/upterm /usr/local/bin/ && rm 
-rf /tmp/upterm
-            
+                curl -sL 
https://github.com/owenthereal/upterm/releases/download/v0.20.0/upterm_linux_amd64.tar.gz
 | tar zxvf - -C /tmp upterm && sudo install /tmp/upterm /usr/local/bin/ && rm 
-rf /tmp/upterm
+
                 # install tmux if it's not present
                 if ! command -v tmux &>/dev/null; then
                     sudo apt-get -y install tmux
                 fi
             elif [[ "$OSTYPE" == "darwin"* ]]; then
-                brew install owenthereal/upterm/upterm
+                brew install --cask owenthereal/upterm/upterm
                 # install tmux if it's not present
                 if ! command -v tmux &>/dev/null; then
                     brew install tmux
@@ -68,7 +68,7 @@ runs:
                 echo "Unsupported $OSTYPE"
                 exit 0
             fi
-            echo '::endgroup::'  
+            echo '::endgroup::'
             echo "::group::Configuring ssh and ssh keys"
             # generate ssh key
             mkdir -p ~/.ssh
@@ -80,11 +80,7 @@ runs:
                 ssh-keygen -q -t ed25519 -N "" -f ~/.ssh/id_ed25519
             fi
             # configure ssh
-            echo -e "Host *\nStrictHostKeyChecking no\nCheckHostIP 
no\nTCPKeepAlive yes\nServerAliveInterval 30\nServerAliveCountMax 
180\nVerifyHostKeyDNS yes\nUpdateHostKeys yes\n" > ~/.ssh/config
-            # Auto-generate ~/.ssh/known_hosts by attempting connection to 
uptermd.upterm.dev  
-            ssh -i ~/.ssh/id_ed25519 uptermd.upterm.dev || true
-            # @cert-authority entry is a mandatory entry when connecting to 
upterm. generate the entry based on the known_hosts entry key
-            cat <(cat ~/.ssh/known_hosts | awk '{ print "@cert-authority * " 
$2 " " $3 }') >> ~/.ssh/known_hosts
+            echo -e "Host *\nStrictHostKeyChecking no\nCheckHostIP 
no\nTCPKeepAlive yes\nServerAliveInterval 30\nServerAliveCountMax 
180\nVerifyHostKeyDNS yes\nUpdateHostKeys yes\nAddressFamily inet\n" > 
~/.ssh/config
             authorizedKeysParameter=""
             authorizedKeysFile=${HOME}/.ssh/authorized_keys
             if [[ "${{ inputs.secure-access }}" != "false" ]]; then
@@ -106,35 +102,35 @@ runs:
             done
             if [ -f $authorizedKeysFile ]; then
                 chmod 0600 $authorizedKeysFile
-                authorizedKeysParameter="-a $authorizedKeysFile"
+                authorizedKeysParameter="--authorized-keys $authorizedKeysFile"
                 echo -e "Using 
$authorizedKeysFile\nContent:\n---------------------------"
                 cat $authorizedKeysFile
                 echo "---------------------------"
             fi
-            echo '::endgroup::'  
+            echo '::endgroup::'
             echo "::group::Starting terminal session and connecting to server"
-            tmux new -d -s upterm-wrapper -x 132 -y 43 "upterm host 
${authorizedKeysParameter} --force-command 'tmux attach -t upterm' -- tmux new 
-s upterm -x 132 -y 43"
-            sleep 2
-            tmux send-keys -t upterm-wrapper q C-m
+            echo 'set-option -ga update-environment " UPTERM_ADMIN_SOCKET"' >> 
~/.tmux.conf
+            tmux new -d -s upterm-wrapper -x 132 -y 43 "upterm host 
--skip-host-key-check --accept ${authorizedKeysParameter} --force-command 'tmux 
attach -t upterm' -- tmux new -s upterm -x 132 -y 43"
             sleep 1
             tmux set -t upterm-wrapper window-size largest
             tmux set -t upterm window-size largest
-            echo '::endgroup::'  
+            echo '::endgroup::'
             echo -e "\nSSH connection information"
             # wait up to 10 seconds for upterm admin socket to appear
             for i in {1..10}; do
-              ADMIN_SOCKET=$(find $HOME/.upterm -name "*.sock")
-              if [ ! -S "$ADMIN_SOCKET" ]; then
-                echo "Waiting for upterm admin socket to appear in 
~/.upterm/*.sock ..."
+              export UPTERM_ADMIN_SOCKET=$(find $HOME/.upterm 
$XDG_RUNTIME_DIR/upterm /run/user/$(id -u)/upterm -name "*.sock" | head -n 1)
+              if [ ! -S "$UPTERM_ADMIN_SOCKET" ]; then
+                echo "Waiting for upterm admin socket ..."
                 sleep 1
               else
-                echo "upterm admin socket available in $ADMIN_SOCKET"
+                echo "upterm admin socket available in $UPTERM_ADMIN_SOCKET"
                 break
               fi
             done
             shopt -s nullglob
-            upterm session current --admin-socket ~/.upterm/*.sock || {
+            upterm session current || {
               echo "Starting upterm failed."
+              cat $HOME/.upterm/upterm.log
               exit 0
             }
         elif [[ "${{ inputs.action }}" == "wait" ]]; then

Reply via email to