GitHub Marketplace
View the action on GitHub Marketplace
Features
Complete Environment
Automatically installs and configures Python, MongoDB, and Redis
Service Management
Clones spoo.me repository and starts service in background
Health Monitoring
Verifies all services are running before proceeding
Highly Configurable
Custom versions for Python, MongoDB, and Redis
Quick Start
Basic Usage
Configuration
Inputs
Python version to install. Recommended: 3.11 or higher for best compatibility.
MongoDB version to use. Supports versions 6.0 and higher.
Redis version to use for caching and session management.
Directory name where the spoo.me repository will be cloned.
Timeout in seconds to wait for all services to be ready. Increase for slower environments.
Outputs
URL where the spoo.me service is running (typically
http://127.0.0.1:8000
)MongoDB connection URI for direct database access
Redis connection URI for cache operations
steps.<spoo-setup-step-id>.outputs.<output-id>
Usage Examples
Integration Testing
1
Set up the workflow
Create a workflow file that sets up spoo.me and runs your integration tests.
.github/workflows/integration.yml
The service will be available at the URL provided in the
service-url
output.2
Add comprehensive tests
Use the running service to test all your integration scenarios.
Multi-Version Testing
Test your application against multiple versions of dependencies:Environment Configuration
The action automatically configures these environment variables:Database Configuration
Database Configuration
Application Configuration
Application Configuration
How It Works
The action performs these steps automatically:1
Environment Setup
Installs Python, MongoDB, and Redis with specified versions
2
Service Verification
Verifies all databases are accessible and responsive
3
Repository Setup
Clones the spoo.me repository and installs dependencies using UV
4
Database Initialization
Creates necessary collections and indexes for optimal performance
5
Service Launch
Starts the spoo.me service in the background with health checks
6
Ready State
Outputs service URLs and confirms all systems are operational
Troubleshooting
Service startup issues
Service startup issues
If the service fails to start, check the logs:
Increase the
wait-timeout
value to 180 seconds or higher for slower environments.Database connection problems
Database connection problems
The action includes built-in retry logic, but if issues persist:
- Increase the
wait-timeout
value to 180 or higher - Check for port conflicts (MongoDB: 27017, Redis: 6379, Service: 8000)
- Verify the GitHub Actions runner has sufficient resources
MongoDB startup can be slow on some runners. We’ve optimized this with single-instance setup.
Common port conflicts
Common port conflicts
The action uses standard ports:
- MongoDB: 27017
- Redis: 6379
- Spoo.me Service: 8000
Versioning
- Recommended
- Specific Version
- Development
The action follows semantic versioning. Use
@v1
for automatic updates within the major version, or pin to specific versions for maximum stability.