1. Tmate SSH Debugging:
- Added manual workflow_dispatch trigger with debug_enabled option
- Integrated mxschmitt/action-tmate@v3 for SSH access to CI runner
- Can be triggered manually or by adding [debug] to commit message
- Detached mode with 30min timeout, limited to actor only
- Also triggers on test failure when debug is enabled
2. Enhanced Pytest Output:
- Added --capture=no to see real-time output
- Added --log-cli-level=DEBUG for maximum verbosity
- Added --tb=short for cleaner tracebacks
- Pipe output to tee for both display and logging
- Show last 20 lines of output on completion
3. Environment Diagnostics:
- Export PYTHONUNBUFFERED=1 for immediate output
- Show Python/Pytest versions at start
- Display relevant environment variables
- Check network ports before/after tests
4. Diagnostic Script:
- Created scripts/diagnose_hang.sh for comprehensive system checks
- Shows processes, network, file descriptors, memory, ZMQ status
- Automatically runs on timeout for detailed debugging info
This allows debugging CI hangs via SSH when needed while providing extensive logging by default.