Commit fab093e
Add comprehensive Docker-based integration testing infrastructure
This commit implements end-to-end testing infrastructure for the Hammerwork
job queue library with PostgreSQL and MySQL database backends, including
comprehensive error fixes and code quality improvements.
## Major additions:
### Docker Infrastructure
- docker-compose.yml with PostgreSQL 16 and MySQL 8.0 services
- Health checks and persistent data volumes
- Database initialization scripts for both backends
### Integration Testing Framework
- Workspace configuration supporting multiple integration apps
- Shared test scenarios for both PostgreSQL and MySQL
- Database-specific tests for JSONB/JSON operations
- Comprehensive job lifecycle, retry, and worker pool testing
- Performance benchmarking and concurrent processing tests
### CI/CD Pipeline
- GitHub Actions workflow with matrix testing across databases
- Automated unit tests, integration tests, and performance benchmarks
- Security auditing and dependency vulnerability scanning
### Development Tooling
- Makefile with convenient development commands
- Shell scripts for local testing automation with colored output
- Database setup and cleanup utilities
- Support for selective testing (unit-only, database-specific)
## Code quality improvements:
### Compiler Error Fixes
- Fixed unused import warnings in integration tests
- Added missing JobStatus imports in feature-gated queue modules
- Updated examples to use correct SQLx Pool types
- Fixed Result type conflicts in async function signatures
- Proper type annotations for job handlers
### Library Enhancements
- Enhanced error handling with better error messages
- Improved tracing and logging integration
- Updated examples with proper database connection patterns
- Comprehensive test coverage for all core functionality
### Documentation
- Updated README with integration testing instructions
- Added development workflow documentation
- Comprehensive setup guides for local and CI environments
This infrastructure enables reliable testing across database backends and
provides a solid foundation for continuous integration and deployment.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>1 parent 0e40d5d commit fab093e
File tree
29 files changed
+3906
-200
lines changed- .claude
- .github/workflows
- config
- docs
- examples
- integrations
- mysql-integration
- src
- postgres-integration
- src
- scripts
- src
- tests
29 files changed
+3906
-200
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
0 commit comments