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

espino pushed a commit to branch main-debugging
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit c1d5e635279e2558df9b09d510c5f826a28379bd
Author: Ed Espino <[email protected]>
AuthorDate: Fri Oct 3 00:21:49 2025 -0700

    Fix: Use manual tmate installation for Rocky Linux 9
    
    Replace mxschmitt/action-tmate@v3 with manual tmate installation
    since the action assumes Debian-based systems and fails on Rocky Linux 9.
    
    Changes:
    - Install tmate via dnf instead of apt-get
    - Start tmate manually and display connection details
    - Add helpful instructions in workflow logs
    - Maintain timeout functionality
---
 .github/workflows/build-cloudberry.yml | 47 +++++++++++++++++++++++++++++++---
 1 file changed, 43 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build-cloudberry.yml 
b/.github/workflows/build-cloudberry.yml
index ad0ad45983d..397cec837c8 100644
--- a/.github/workflows/build-cloudberry.yml
+++ b/.github/workflows/build-cloudberry.yml
@@ -1256,11 +1256,50 @@ jobs:
           (github.event.inputs.enable_debug_shell == 'true' ||
            contains(github.event.pull_request.labels.*.name, 'ci:debug')) &&
           needs.check-skip.outputs.should_skip != 'true'
-        uses: mxschmitt/action-tmate@v3
         timeout-minutes: ${{ 
fromJSON(github.event.inputs.debug_timeout_minutes || '30') }}
-        with:
-          limit-access-to-actor: true
-          detached: false
+        shell: bash
+        run: |
+          set -eux
+
+          echo "=== Installing tmate for Rocky Linux 9 ==="
+          dnf install -y tmate
+
+          echo "=== Starting tmate session ==="
+          echo "Session will timeout after ${{ 
github.event.inputs.debug_timeout_minutes || '30' }} minutes"
+          echo "WARNING: tmate session will be publicly accessible via the 
connection string below"
+          echo "Only share the connection details with trusted users"
+          echo ""
+
+          # Generate SSH key if not exists
+          mkdir -p ~/.ssh
+          if [ ! -f ~/.ssh/id_rsa ]; then
+            ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ""
+          fi
+
+          # Start tmate and display connection info
+          echo "=== Tmate Connection Details ==="
+          tmate -F &
+          TMATE_PID=$!
+
+          # Wait for tmate to initialize and get connection string
+          sleep 5
+
+          # Display connection strings
+          tmate display -p '#{tmate_ssh}' || true
+          tmate display -p '#{tmate_web}' || true
+
+          echo ""
+          echo "=== Ready for Connection ==="
+          echo "Once connected, run the following commands:"
+          echo "  su - gpadmin"
+          echo "  cd \${SRC_DIR}"
+          echo "  source /usr/local/cloudberry-db/greenplum_path.sh"
+          echo "  source gpAux/gpdemo/gpdemo-env.sh"
+          echo ""
+          echo "Press Ctrl+C in this session or 'exit' in tmate to continue 
the workflow"
+
+          # Keep session alive
+          wait $TMATE_PID
 
       - name: "Run Tests: ${{ matrix.test }}"
         if: success() && needs.check-skip.outputs.should_skip != 'true'


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to