RustIRC v0.3.5 - Cross-Platform Compatibility & Comprehensive Doctest Coverage
RustIRC v0.3.5 - Enhanced GitHub Actions Workflow Resilience
🎯 Release Overview
This release resolves critical GitHub Actions workflow failures and implements enhanced workflow resilience across all platforms. Building on the robust CI/CD infrastructure from v0.3.4, version 0.3.5 eliminates the run_with_timeout: command not found errors in Quick Checks & Build jobs and ensures bulletproof cross-platform compatibility with comprehensive doctest coverage.
🚀 Major Achievements
GitHub Actions Function Persistence Excellence
- Function Availability Fixed: Resolved run_with_timeout: command not found errors using BASH_ENV approach
- Clean Helper Architecture: Maintainable cross-platform timeout functionality with single-point definition
- Workflow Typo Corrections: Fixed 6 instances of run_with_run_with_timeout in ci.yml
- Universal Function Access: Helper functions now persist across all GitHub Actions workflow steps
Cross-Platform Test Matrix Excellence
- 100% macOS Compatibility: Resolved timeout command unavailability causing exit code 127
- Universal Doctest Execution: Enabled doctests on all architectures instead of Ubuntu-only
- Comprehensive Platform Coverage: Tests now pass on Linux (x86_64, ARM64), macOS (x86_64, ARM64), and Windows (x86_64)
- Enhanced Error Handling: Robust fallback mechanisms for GitHub service outages
📊 Performance Metrics
- 100% Test Matrix Success Rate across all platforms
- 118 Total Tests: 53 unit tests + 65 doctests all passing
- Zero Platform-Specific Failures achieved
- Zero Function Persistence Issues resolved
- Enhanced CI/CD Resilience with service outage handling
🧪 Comprehensive Test Coverage
Platform Test Matrix Status
| Platform | Architecture | Status | Test Count |
|---|---|---|---|
| Linux | x86_64 | ✅ Passing | 118 (53+65) |
| Linux | ARM64 | ✅ Passing | 118 (53+65) |
| macOS | x86_64 | ✅ FIXED | 118 (53+65) |
| macOS | ARM64 | ✅ FIXED | 118 (53+65) |
| Windows | x86_64 | ✅ Passing | 118 (53+65) |
Doctest Coverage by Crate
| Crate | Doctests | Status |
|---|---|---|
| rustirc-core | 15 | ✅ All Platforms |
| rustirc-protocol | 24 | ✅ All Platforms |
| rustirc-gui | 8 | ✅ All Platforms |
| rustirc-tui | 7 | ✅ All Platforms |
| rustirc-plugins | 6 | ✅ All Platforms |
| rustirc-scripting | 5 | ✅ All Platforms |
🔧 Technical Improvements
BASH_ENV Helper Function Architecture
Enhanced workflow reliability through single-definition helper functions that persist across all GitHub Actions steps.
GitHub Actions Resilience
- Universal Bash Usage: All platforms now use bash shell for consistency
- YAML Validation: Pre-push validation using Python yaml.safe_load()
- Comprehensive Error Recovery: Multiple fallback mechanisms for common CI failures
- Service Outage Handling: Graceful degradation when GitHub services are unavailable
🐛 Critical Bug Fixes
GitHub Actions Function Persistence (Exit Code 127)
Problem: run_with_timeout: command not found in Quick Checks & Build jobs
Root Cause: GitHub Actions steps run in separate shell instances, function definitions do not persist
Solution: BASH_ENV approach with helper script ensures function availability across all steps
Impact: 100% workflow step success rate restored, clean maintainable architecture
Workflow Typo Corrections
Problem: 6 instances of run_with_run_with_timeout instead of run_with_timeout in ci.yml
Detection: Systematic grep analysis identified exact locations (lines 252,256,261,277,281,286)
Solution: Corrected all typos using MultiEdit with replace_all approach
Impact: Consistent function naming prevents future confusion and errors
macOS Test Matrix Failures (Exit Code 127)
Problem: macOS runners do not include the timeout command by default
Solution: Cross-platform timeout function using perl on macOS, native timeout elsewhere
Impact: 100% macOS test success rate restored
Missing Doctests on All Architectures
Problem: Doctest steps restricted to Ubuntu with conditional matrix checks
Solution: Removed platform restrictions from all 6 doctest execution steps
Impact: 65 doctests now run on all platforms instead of Ubuntu-only
🛠️ Workflow Configuration Changes
Modified Files
- .github/workflows/ci.yml: Added BASH_ENV helper approach, fixed typos, removed Ubuntu-only doctest restrictions
- .github/workflows/master-pipeline.yml: Implemented BASH_ENV approach, enhanced sccache resilience
- Both workflows now include clean helper function architecture and comprehensive error handling
📦 Installation
Download the appropriate binary for your platform from the release assets:
Linux (x86_64 / ARM64)
wget https://github.com/doublegate/RustIRC/releases/download/v0.3.5/rustirc-linux-amd64.tar.gz
tar -xzf rustirc-linux-amd64.tar.gz
chmod +x rustirc
./rustircmacOS (x86_64 / ARM64)
curl -LO https://github.com/doublegate/RustIRC/releases/download/v0.3.5/rustirc-macos-amd64.tar.gz
tar -xzf rustirc-macos-amd64.tar.gz
chmod +x rustirc
./rustircWindows (x86_64)
Download rustirc-windows-amd64.exe.zip, extract, and run rustirc.exe
✅ Verification
All binaries include SHA256 checksums. Verify your download:
shasum -a 256 -c rustirc-*.sha256🔮 What's Next - Phase 4: Scripting & Plugins
With bulletproof cross-platform CI/CD and workflow resilience now established, development advances to extensibility:
- Lua Scripting Engine: Sandboxed execution with comprehensive IRC API
- Python Integration: PyO3-based scripting with advanced capabilities
- Plugin Architecture: Hot-reloadable binary plugins with secure isolation
- Script Manager UI: User-friendly script/plugin discovery and management
- Event-Driven API: Complete scripting hooks for all IRC events
📈 Project Statistics
- Total Tests: 118 passing (53 unit + 65 doctests)
- Platform Coverage: 100% success on Linux, macOS, Windows
- Architecture Support: x86_64, ARM64 on Linux/macOS
- CI/CD Reliability: Enhanced with service outage resilience and function persistence
- Documentation Coverage: 65 working doctests across all public APIs
- Workflow Resilience: Zero function availability issues across all platforms
🛡️ Quality Assurance
- Zero Platform-Specific Failures: All architectures pass Test Matrix
- Zero Function Persistence Issues: BASH_ENV approach ensures universal availability
- Comprehensive Error Handling: Graceful degradation during service outages
- YAML Validation: All workflows validated before deployment using Python yaml.safe_load()
- Pre-commit Hooks: Format, clippy, and test validation
- Security Audits: Daily automated security scanning
🎉 Development Milestone
This release represents a critical infrastructure milestone - achieving 100% GitHub Actions workflow resilience with bulletproof function persistence and cross-platform test compatibility. The enhanced CI/CD foundation now enables confident development of advanced features without workflow or platform-specific concerns.
🙏 Acknowledgments
Special recognition for the systematic debugging approach using MCP tools (ThinkDeep, Debug, Chat) that enabled rapid identification and resolution of the GitHub Actions function persistence issues. The BASH_ENV helper architecture ensures reliable builds and maintainable workflow code for future development.
Full Changelog: v0.3.4...v0.3.5
Generated with Claude Code | Released: August 24, 2025